ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: $args $arg param $query string внутри if условия



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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.