每次在<ifmodule mod_rewrite.c =“”>中重写开启?</ifmodule>

时间:2013-07-14 03:56:57

标签: .htaccess mod-rewrite

我想知道我是否可以在我的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>

1 个答案:

答案 0 :(得分:17)

您应该可以对所有重写代码进行一次检查。

我怀疑你的代码中你正在处理的网站将无法正常运行,或者根本没有启用mod_rewrite。在这种情况下,我会完全省略对mod_rewrite的检查,如果未启用,则让web服务器失败。

如果您的代码安装在未启用mod_rewrite的网络服务器上,那么调试和查明确切问题会更容易。