ПРОЕКТЫ 


  АРХИВ 


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: try_files и if



Hello!

On Tue, Feb 12, 2013 at 10:10:36AM +0200, Roman wrote:

> Добрый день,
> у меня имеется nginx version: nginx/1.0.12 и
> я конечно же читал сей замечательный документ :
> http://wiki.nginx.org/IfIsEvil
> 
> Но очень хочется такого функционала:
> 
> 
>     map $http_referer $flag {
>         default 0;
>         "~*domain.com" 1;
>         ...
>         ...
>         }
> 
> ...
> 
>         location ~* ^/([a-z0-9\-]+)/ {
>            try_files     $uri $uri/ /catalog/$1/best/index.html =404;
>            root /home/wwwroot;
>            if ($flag)
>            {
>                add_header Set-Cookie ...;
>            }
> 
>         }
> Но естественно такой вариат с try_files & if не работает, сломал
> голову всю и никак не могу придумать альтернативного решения,
> может кто подскажет какую идею?

Сделать map вида:

    map $flag $cookievalue {
        0     "";
        1     "...";
    }

И дальше add_header безусловно:

    add_header Set-Cookie $cookievalue;

Если в результате map'а в переменной $cookievalue получится пустая 
строка - соответствующий заголовок клиенту отослан не будет, если 
получится непустая - будет, что, насколько я понимаю, и требуется 
в задаче.

-- 
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.