На одном из сайтов были раньше были адреса с параметрами, типа index.php?bar=foo&z=x. Сейчас сайт переписали, адреса с ЧПУ, на фронте стоит nginx.
Необходимо прописать реврайты со старых адресов на новые, чтобы в интернете ссылки не побились.
Почитав, выяснил, что в rewrite строка параметров не передается, но она есть в переменной $query_string.
Как первый вариант, сделал так:
<pre>
if ($query_string = 'bar=foo&z=x') {
rewrite ^(.*)$ http://site.ru/bar/foo/z/x/ permanent;
}
</pre>
Но наткнулся на то, что редирект идет реально на страницу
site.ru/bar/foo/z/x/?bar=foo&z=x, что вызывает повторное срабатывание этой конструкции и зациливание.
Есть ли более изящное решение?