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

Каким образом настроить редирект в nginx?

Есть адреса localhost/catalog/test/element1/ localhost/catalog/test/element2/ например нужно сделать редиректы на новые адреса localhost/catalog/test2/element1/ localhost/catalog/test2/element2/ с учетом всех дочерних элементов
rewrite ^/catalog/test(.*) /catalog/test2$1 permanent;

такой редирект почему то делает циклическую переадресацию вида localhost/catalog/test2test2test2test2test2

Как поправить?
  • Вопрос задан
  • 160 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    6 месяцев
    Далее
Решения вопроса 1
@dodo512
Зацикливание происходит потому, что шаблон test(.*) совпадает с test2.
Нужно исправить на test/(.*)
rewrite ^/catalog/test/(.*) /catalog/test2/$1 permanent;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
RewriteCond %{REQUEST_URI} !^(.*)/catalog/test2$ 
RewriteRule ^/catalog/test(.*) /catalog/test2$1 [R=301,L]
Ответ написан
Ваш ответ на вопрос

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

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