@invisii

Как сделать редирект со знаком вопроса у урле в nginx и apache?

Доброго дня. Собственно для апача есть 301-ые редиректы такого вида:
Redirect 301 /?p=59 site.com/work-release-form

Но из-за знака вопроса он отказывается работать. Так же его же нужно и под nginx, и опять же
location /?=59 { rewrite ^(.*)$ /work-release-form/ redirect; }

Пробовал экранировать знак вопроса - ничего не дает. Подскажите верный способ.
  • Вопрос задан
  • 541 просмотр
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Ни в apache ни в nginx параметры запроса (вопросительный знак и далее) не считаются частью location

location / {
  if ($arg_p = 59) {
    return 302 /work-release-form/;
  }
}


Возможно location надо будет менять в зависимости от всего остального конфига.
Так же 302 надо поменять на 301, но только когда вы на 146% уверены, что всё работает верно. Иначе замучаетесь вычищать редиректы из кешей браузеров.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@invisii Автор вопроса
да, под nginx это сработало, спасибо!
подскажите еще под апач, как сделать редиректы вида:
Redirect 301 /?p=59 site.com/work-release-form
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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