помогите с перенаправлением определенной страницы в nginx - PullRequest
0 голосов
/ 31 октября 2010

Я пытался сделать это в течение последних 4 часов и искал везде. было бы здорово, если бы вы могли помочь мне с правилами перезаписи nginx.

Я пытаюсь временно перенаправить hxxp: // siteA / [dir] на hxxp: // siteB / [dir] за исключением hxxp: // siteA /? Page = 4, который я хочу перенаправить на hxxp: // SITEB /? стр = 343

Вот правила, которые у меня есть

server {
    listen 80;
    server_name siteA;
    rewrite ^/?page=4$ http://siteB/?page=343 redirect;
    rewrite  ^/(.*)$  http://siteB/$1  redirect;
}

Но, похоже, перенаправляет hxxp: // siteA /? Page = 4 на hxxp: // siteB /? Page = 4, игнорируя первое правило.

Я изменил http на hxxp, так как мне не разрешено размещать ссылки здесь.

1 Ответ

1 голос
/ 01 ноября 2010

Распространенная проблема, возникающая при написании правил перезаписи для веб-серверов, заключается в том, что параметры запроса являются частью пути сценария.

Попробуйте сопоставить параметры запроса с правилом, подобным приведенному ниже, до того, как ваше «основное» правило перезаписи:

if ($args ~ page=4){
  rewrite ^ http://siteB.com/?page=343;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...