thinkphp URL重写规则冲突怎么解决? 200

我有Home,Admin,Mobile三个模块。但是.htaccess里写给Mobile的规则,总是跑到Home里面去。如下两条:RewriteRule/Mobile/(... 我有Home,Admin,Mobile三个模块。但是 .htaccess里写给Mobile的规则,总是跑到Home里面去。如下两条:
RewriteRule /Mobile/([^/]+)\.html$ /index.php?s=Mobile/form/lists/t/$2/tpl/$2 [NC,L]
RewriteRule /([^/]+)/([^/]+)\.html$ /index.php?s=form/lists/t/$1/tpl/$2 [NC,L]
必须这样写,才行。没有其他好的办法吗?,求请教大神!
展开
 我来答
MAFIA幽冥
2015-04-23 · TA获得超过878个赞
知道小有建树答主
回答量:1701
采纳率:0%
帮助的人:489万
展开全部
先后顺序摆对了就行...
你可以加一个判断,如果访问地址包含Mobile,就用上面那条。
if ($request_uri ~ Mobile){
RewriteRule /Mobile/([^/]+)\.html$ /index.php?s=Mobile/form/lists/t/$2/tpl/$2 [NC,L]
}
这些规则是按顺序来执行的,如果匹配到了第一条,后面的就不执行了
乱世1嘉年华
2015-04-25 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:92
采纳率:0%
帮助的人:36.4万
展开全部
你把.htaccess文件放到你Mobile目录下面 如果放下入口文件同级,那么会默认其项目会使用此重写规则
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜神梦无眠
2015-04-24 · TA获得超过3357个赞
知道小有建树答主
回答量:968
采纳率:63%
帮助的人:432万
展开全部
你把你原先的写法代码截过来看看...
首先尝试把 ([^/]+) 改成(.*)
其次 / 前面要 加\

比如我要重写一个mobile 的URL,域名为: test.cn
'/^mobile\/(.*)$/'=>'mobile/index',
那么 test.cn/mobile/XXXXX 就会跳到 'mobile/index',
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式