if ($args)/if ($arg_) + location

Maxim Dounin mdounin at mdounin.ru
Wed Mar 20 09:14:35 UTC 2013


Hello!

On Wed, Mar 20, 2013 at 05:09:38AM -0400, john2do wrote:

> Столкнулся тут с странным поведением, а именно:
> если использовать конструкцию в локейшине вида:
> 
>                 if ( $arg_nossi != 1 ) {
>                         ssi on;
>                 }
>                 ssi_value_length 4k;
> 
>                 set $transmit $uri;
>                 if ( $args ) {
>                         set $transmit $uri?$args;
>                 }
> 
> то при появлении любого аргумента - включается ssi, но
> если if ($args) вытащить раньше if ($arg_nossi) то такой вид работает как и
> задумывалось:
> 
>                 set $transmit $uri;
>                 if ( $args ) {
>                         set $transmit $uri?$args;
>                 }
> 
>                 if ( $arg_nossi != 1 ) {
>                         ssi on;
>                 }
>                 ssi_value_length 4k;
> 
> три дня колдовства.
> баг? фича?
> nginx/1.2.5

http://wiki.nginx.org/IfIsEvil

-- 
Maxim Dounin
http://nginx.org/en/donation.html



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