Задать вопрос
@AdTheBisto

Почему выбивает ошибку «Сайт выполнил переадресацию слишком много раз.» при добавлении нового редиректа в .htaccess?

Суть в чем. Нужно создать правило для редиректа, в котором есть вопросительный знак "?", из-за которого решить задачу стандартным методом не выходит. Условно говоря есть следующий путь:
test.ru/?page=name
Ясное дело, из-за вопросительного знака обычные редиректы работать не будут.
Для того, чтобы прописать переадресацию был использован следующий код:
RewriteCond %{QUERY_STRING} ^page=name
RewriteRule ^(.*) https://test.ru/ [R=301,L]

Но по итогу при перезагрузке страницы возникает ошибка :
Сайт выполнил переадресацию слишком много раз.
Удалите файлы cookie..
ERR_TOO_MANY_REDIRECTS

При этом весь сайт и остальные редиректы работают корректно.
В чем причина? По идее, должно же работать.
  • Вопрос задан
  • 3219 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@dodo512
В чем причина? По идее, должно же работать.

По умолчанию при редиректе добавляется %{QUERY_STRING}.
Нужно добавить "?".
RewriteCond %{QUERY_STRING} ^page=name
RewriteRule ^(.*) https://test.ru/? [R=301,L]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы