#apache #mod-rewrite
#apache #мод-перезапись
Вопрос:
Здравствуйте, у меня проблема с RewriteCond, так как RewriteRule работает не так, как ожидалось.
Если у меня есть
RewriteCond %{REQUEST_URI} ^/fr/?.*$
RewriteRule ^(.*)$ http://example.com/en/$1 [R=302,L]
Когда я обращаюсь http://example.com/fr/test он правильно перезаписывает в http://example.com/en/fr/test
Однако, когда я отменяю условие
RewriteCond %{REQUEST_URI} !^/fr/?.*$
RewriteRule ^(.*)$ http://example.com/en/$1 [R=302,L]
Когда я обращаюсь http://example.com/fr/test Я перенаправляюсь на http://example.com/en/index.php хотя я бы не ожидал перенаправления.
Когда я удаляю это правило и условие, перенаправление не происходит.
Комментарии:
1. Это странно. Правило с отрицаемым условием выглядит нормально и должно работать. Вы перезапустили свой сервер?
2. @starkeen Это делается в .htaccess. Если потребуется перезапуск, изменения перенаправления не будут видны между изменениями правил.