Re: redirect не работает
Maxim Dounin
mdounin на mdounin.ru
Пт Июл 15 12:16:53 UTC 2011
Hello!
On Thu, Jul 14, 2011 at 03:51:46PM -0700, Konstantin Svist wrote:
> Конфиг:
> rewrite ^(.*)$ "$arg_r?" redirect;
>
> Запрос:
> curl -v 'http://localhost/redir?r=http%3A%2F%2Fwww.example.com%2F%3Fa%3D1%26b%3D2%26c%3D3'
>
> Ответ:
> Location: http://www.example.com/?a%3D1%26b%3D2%26c%3D3
>
> Так и должно быть? Или баг?
rewrite нормально работает только при использовании переменных,
полученных из uri при выполнении регулярного выражения. Во всех
остальных случаях "есть нюансы".
Надо фиксить, но как минимум это потребует нормальной
функциональности urlencode/urldecode (и скорее всего сломает
часть существующих конфигов).
Подборка "нюансов" у меня есть вот тут:
http://mdounin.ru/hg/nginx-tests/file/74bc22b97538/rewrite_unescape.t
Maxim Dounin
Подробная информация о списке рассылки nginx-ru