Я пытаюсь выполнить перенаправление на URL-адрес, если проверка модуля проходит.
Что-то вроде этого (что, похоже, не работает для меня.)
Возможно, это просто невозможно. Кто угодно?
<IfModule mod_rewrite.c>
<ifModule mod_gzip.c>
RewriteEngine On
RewriteRule ^/mod_gzip/?$ mod_gzip-is-enabled.php
</IfModule>
</IfModule>
Вложенный <IfModule>
контейнеры не ваша проблема (да, это возможно). (Но это внешний <IfModule mod_rewrite.c>
нужен контейнер?)
Ваша проблема в RewriteRule
шаблон ^/mod_gzip/?$
:
RewriteRule ^/mod_gzip/?$ mod_gzip-is-enabled.php
Это никогда не будет совпадать в каталоге .htaccess
контекст, из-за префикса косой черты на RewriteRule
шаблон. Убрать нужно вот так:
RewriteRule ^mod_gzip/?$ mod_gzip-is-enabled.php [L]
Чтобы соответствовать запрошенному URL-адресу формы /mod_gzip/
(или /mod_gzip
).
В каталоге .htaccess
файлы, URL-путь, который RewriteRule
шаблон матчей против меньше префикс каталога, который, в частности, заканчивается косой чертой. Таким образом, соответствующий URL-путь никогда не начинается с косой черты. (Это отличается от того, когда директивы используются в контексте сервера или виртуального хоста.)
Кроме того, вам, вероятно, следует включить L
флаг на случай, если у вас есть другие директивы.