rewrite и русские буквы в uri

Dzurillo nginx-forum at nginx.us
Fri May 9 07:45:25 UTC 2014


Здравствуйте!

Мне нужно сделать со стороны Nginx такую вещь: если пришла ссылка вида
/some/url/param/id/value/other/param/
то взять значение параметра id, т.е. id=value и передать его дальше в
скрипт, как переменную

# правило для указания ?id=value для ссылок вида /gallery/id/username
rewrite ^(.*)\/id\/(\w+)(\/)? $uri?id=$2 last;

Это хорошо работает для латинских символов, но не работает для русских :(
Например, если зайти по ссылке http://mysite/profile/id/Гость, то

REQUEST_URI' => string '/profile/id/%D0%93%D0%BE%D1%81%D1%82%D1%8C'
'QUERY_STRING' => string ''

а для http://mysite/profile/id/guest:
'REQUEST_URI' => string '/profile/id/guest'
'QUERY_STRING' => string 'id=guest'

Собственно вопрос - как подружить rewrite и русские закодированные буквы в
uri?

Спасибо.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,249980,249980#msg-249980



Подробная информация о списке рассылки nginx-ru