RewriteRule递归问题

时间:2013-11-09 13:16:46

标签: .htaccess

我在htaccess文件中有以下内容来重写params

RewriteRule ^(.*)$ index.php?unique=$1 [L,QSA]

现在我遇到的问题是递归

/folder/12345 - 工作正常并获得值12345

/folder/sub-folder/ - 这里的index.php * 强文 *文件打破了上面的脚本

有谁想过如何阻止它过滤到子文件夹的 index.php 文件?

1 个答案:

答案 0 :(得分:1)

您应该能够使用简单的条件进行检查,以便请求的网址不指向文件:

 RewriteBase /folder/
 # check so the request doesn't contain a valid filename
 RewriteCond %{REQUEST_FILENAME} !-f
 # bounce everything to index.php
 RewriteRule ^(.*)$ index.php?unique=$1 [L,QSA]

以上内容会将所有不是有效网址的内容发送至index.php,而包含example.com/index.php等文件名的网址则保持不变。