首页 > 解决方案 > htaccess 重定向参数并排除一个文件夹

问题描述

我一直在尝试一些排列,但仍然无法弄清楚。我有3个要求:

所以我设法让前两个工作使用:

Options +FollowSymLinks
RewriteEngine On
#RewriteCond %{REQUEST_URI}!^/panel/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ page.php?q=$1 [NC,L]
# RewriteRule ^([^\.]+)$ $1.php [NC,L]

如果我取消注释第三行,一切都会中断。任何帮助表示赞赏!另外请指出我可能遇到的任何错误。提前致谢!我为糟糕的格式道歉。不管我怎么打,编辑总是报错。

标签: apache.htaccessmod-rewrite

解决方案


您可以尝试以下规则以仅重定向到实际存在的 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]

推荐阅读