@nickel_j

Как сделать корректный редирект со страницы с GET-параметром в .htaccess?

Здравствуйте

Задача - сделать переадресацию со страницы типа site.ru/test?mark=bosch на site.ru/test/bosch
Код htaccess ниже
ErrorDocument 404 /404.html

RewriteEngine On
RewriteBase /

# Переадресация для марок
RewriteCond %{QUERY_STRING} ^mark\=(.*)$
RewriteRule ^(.*)$ /$1/%1? [NC,R=301,L]

При исполнении выдаёт цепочку редиректов site.ru/test/bosch?mark=bosch, site.ru/test/bosch/bosch?mark=bosch и так до site.ru/test/bosch/bosch/bosch/bosch/bosch/bosch/bosch/bosch/bosch/bosch, хотя стоит L и знак ? в конце. Не понимаю, как своевременно избавиться от Гет-параметра.

Подскажите, где может быть ошибка?
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@nickel_j Автор вопроса
В итоге выяснилось, что проблема была в кэше. Изначальное выражение рабочее
ErrorDocument 404 /404.html

RewriteEngine On
RewriteBase /

# Переадресация для марок
RewriteCond %{QUERY_STRING} ^mark\=(.*)$
RewriteRule ^(.*)$ /$1/%1? [NC,R=301,L]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
Вот тебе ссылка
L - не так работает как ты думаешь
И дальше следуеет, о боже вот это ссылочка, на миллион, вот тебе братишка " вопрос решен"
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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