RewriteEngine On в каждый раз?

Мне интересно, могу ли я использовать RewriteEngine только один раз в моем htaccess, когда он встроен в 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 ответов


вы должны иметь возможность поставить одну проверку вокруг всего вашего кода перезаписи.

Я подозреваю из вашего кода, что сайт, над которым вы работаете, не будет работать должным образом или вообще mod_rewrite не включен. В таких случаях я бы полностью опустил проверки mod_rewrite и позволил веб-серверу потерпеть неудачу, если он не включен.

Если вы когда-нибудь окажетесь в ситуации, когда ваш код установлен на веб-сервере без mod_rewrite, это будет намного проще отладка и определение точной проблемы.