我目前在.htaccess文件中有这个:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)\.html$ index.php?pagename=$1&%{QUERY_STRING}
将html文件名重写为pagename查询字符串。
但是我试图允许访问一个特定的静态html文件,所以不知何故我需要覆盖规则或者例外。
谢谢你的帮助。
答案 0 :(得分:6)
自己追加QUERY_STRING
没有意义;如果没有,你会离开流浪&
,mod_rewrite已经有了一个更好的工具:
RewriteRule ^(.*)\.html$ index.php?pagename=$1 [QSA]
您可以控制RewriteRule
前面有RewriteCond
的{{1}}。例如:
RewriteCond %{REQUEST_URI} !^/staticpage.html$
RewriteRule ^(.*)\.html$ index.php?pagename=$1 [QSA]
另一种有用的模式是RewriteCond %{REQUEST_FILENAME} !-f
,它将绕过以下RewriteRule
任何时间,该URL与docroot中的现有常规文件相匹配。