Необходимо перенаправить URL с переменной на другое доменное имя. Следующий код работает, когда он совпадает, но не работает, когда он не совпадает.
Например, он работает, когда запрос https://old.example.com/test/place?id=2
Сбой, когда запрос для https://old.example.com/test/place?id=1
Нужно https://old.example.com/test/place?id=1, чтобы просто пройти и поймать только id = 2.
Чего не хватает в конфигурации? Что я пропустил?
location = /test/place { if ($request_uri ~ ^/test/place\?id=2) { return 301 https://new.example.com/test/place?id=2; } }
Нашел решение с помощью члена списка рассылки nginx, Патрика. Вот ссылка на разговор.
Ссылка списка рассылки на решение
Окончательное решение выглядит следующим образом.
if ( $request_uri = "/test/place?id=2" ) { rewrite ^ https://new.example.com${uri}?${args}? last; }