RewriteEngine On в <IfModule mod_rewrite.c> каждый раз?

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