Re: $args $arg param $query string внутри if условия
Maxim Dounin
mdounin at mdounin.ru
Mon Oct 29 10:52:13 UTC 2012
Hello!
On Sat, Oct 27, 2012 at 07:36:52AM -0400, somebi wrote:
> Использую версию nginx 1.2.0
> Захожу по адресу domaim.com/individual?charset=windows-1251
>
> location / {
> break;
> proxy_pass http://127.0.0.1:4444;
> proxy_redirect off;
> proxy_set_header Host $host;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For
> $proxy_add_x_forwarded_for;
>
> if ($arg_charset ~* windows-1251) {
> charset windows-1251;
> }
> source_charset utf-8;
> }
>
> Пробовал подставлять другие встроенные переменные описанные выше, но не
> помогает. Если я убираю if условие, то все работает, как надо.
>
> Это баг или я делаю что-то не так?
Не, это не баг.
Директива "break" в начале location'а делает бессмысленными все
остальные директивы модуля rewrite, из-за "break" они никогда не
будут выполнятся. Соответственно то, что вы написали внутри if'а,
никогда не будет применяться.
Документация тут:
http://nginx.org/r/break/ru
--
Maxim Dounin
http://nginx.com/support.html
Подробная информация о списке рассылки nginx-ru