htaccess使用参数重定向,但不包括一个文件夹



我一直在尝试一些排列,但仍然无法解决这个问题。我有3个要求:

  • 转发从xxx.php到xxx的所有内容
  • mydomain/句子真的加载了mydomain/页面吗?q=句子
  • 排除文件夹,例如mydomain/logs

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

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]

相关内容

最新更新