我在htaccess文件中有以下内容来重写params
RewriteRule ^(.*)$ index.php?unique=$1 [L,QSA]
现在我遇到的问题是递归
/folder/12345
- 工作正常并获得值12345
/folder/sub-folder/
- 这里的index.php * 强文 *文件打破了上面的脚本
有谁想过如何阻止它过滤到子文件夹的 index.php 文件?
答案 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
等文件名的网址则保持不变。