我已经尝试了一些排列,但仍然无法弄清楚。 我有3个要求:
- 将 xxx.php 中的所有内容转发到 xxx
- mydomain/sentence 实际上加载 mydomain/page?q=sentence
- 排除文件夹,例如mydomain/日志
所以我设法使用前两个来工作:
Options +FollowSymLinks
RewriteEngine On
#RewriteCond %{REQUEST_URI}!^/panel/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ page.php?q=$1 [NC,L]
# RewriteRule ^([^\.]+)$ $1.php [NC,L]
如果我取消第三行的注释,一切都会中断。 任何帮助表示赞赏!还请指出我可能有的任何错误。提前致谢!对于格式错误,我深表歉意。不管我怎么打字,编辑器总是报错。
最佳答案
您可以尝试以下规则,仅重定向到实际存在的 PHP 文件。我还认为该规则必须出现在其他重写规则之前,因为其他规则的条件也会匹配。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
#RewriteCond %{REQUEST_URI}!^/panel/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ page.php?q=$1 [NC,L]
关于apache - htaccess 重定向带参数并排除一个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65125753/