@zzmaster

Почему не срабатывает RewriteRule?

Хочу внутренне редиректить
/search/lala => /search/lala?post_type=review
Строка такая
RewriteRule ^/search/([^/]+)$ /search/$1?post_type=review [L]

Не срабатывает
https://htaccess.madewithlove.com?share=c2ce1c7f-6...
Где собака порылась?
  • Вопрос задан
  • 43 просмотра
Решения вопроса 1
@dodo512
RewriteRule ^/ тут не нужен /

Как на самом деле работает mod_rewrite.
Первому RewriteRule передается путь от того места, где находится .htaccess, до запрошенного файла. Эта строка никогда не начинается со "/".


Если же mod_rewrite используется в <VirtualHost>, он будет работать по-другому:

В <VirtualHost> в RewriteRule попадает весь путь запроса, начиная от первого слеша, заканчивая началом параметров GET:
http://example.com/some/news/category/post.html?comments_page=3
-> "/news/category/post.html". Эта строка всегда начинается со /.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы