使用mod_rewrite的htaccess自定义url列表

时间:2015-09-02 00:11:12

标签: php apache .htaccess mod-rewrite

我已经使用.htaccess成功地使用域名顶级子目录样式的自定义,干净网址来屏蔽网址:

正常.htaccess配置(工作)

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([^/]+)/([^/]+)$ /index.php?page=$1&subject=$2 [QSA]
RewriteRule ^([^/]+)$ /index.php?page=$1 [QSA]

给了我:

  

/页/受试者

     

/页

现在,在为不同的PHP文件使用特定部署时,我想为所述部署制作子集目录,如下所示:

所需的额外配置(不工作 - 抛出500个错误)

RewriteRule ^mobile/([^/]+)/([^/]+)$ /mobile.php?page=$1&subject=$2 [QSA]
RewriteRule ^mobile/([^/]+)$ /mobile.php?page=$1 [QSA,L]

给我:

  

/移动/页/受试者

     

/移动/页

我已经尝试将[QSA,L]改为[NC,L]而没有。有任何想法吗?任何帮助是极大的赞赏! :)提前谢谢你。

1 个答案:

答案 0 :(得分:0)

此规则导致无限循环:

RewriteRule ^([^/]+)$ /index.php?page=$1 [QSA]

你需要在他之前添加一些限制RewriteCond。 在这里你重写了调用栈:

enter image description here

P.S。 从来没有想过,我忘了创建了 mobile.php ,我给了重写循环,很抱歉。