2011-11-02 26 views
0

Если я использую это:Если функция не работает, работает?

<IfModule mod_rewrite.c> 
RewriteEngine On 
RedirectMatch 301 ^/training/(.*) /faculty/training.html 
</IfModule> 

не происходит переадресация.

То же самое с:

<IfModule mod_rewrite> 
... 
</IfModule> 

Однако, это работает, как ожидалось:

RewriteEngine On 
RedirectMatch 301 ^/training/(.*) /faculty/training.html 

Другими словами, редирект работает отлично за пределами <IfModule> блока.

Есть ли причина, почему <IfModule> не обнаружит mod_rewrite.c?

ответ

2

Директива RedirectMatch является частью mod_alias.c, а не mod_rewrite.c. Вы хотите, чтобы ваш IfModule проверил mod_alias.c. Вам также не нужно включать RewriteEngine, поскольку RedirectMatch не использует его.

+0

Huh. Точно так же, как в документах. Спасибо, Джон! – Blue

Смежные вопросы