我想知道我是否可以在我的htaccess中使用RewriteEngine On一次,当它嵌入到IfModule mod_rewrite.c中时,或者每次因为嵌入它时我是否必须使用它?
见下面的例子。感谢
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} /?author [NC]
RewriteRule .* - [F]
</ifModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} g= [NC]
RewriteRule ^(.*)$ - [F,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
答案 0 :(得分:17)
您应该可以对所有重写代码进行一次检查。
我怀疑你的代码中你正在处理的网站将无法正常运行,或者根本没有启用mod_rewrite。在这种情况下,我会完全省略对mod_rewrite的检查,如果未启用,则让web服务器失败。
如果您的代码安装在未启用mod_rewrite的网络服务器上,那么调试和查明确切问题会更容易。