Re: try_files и if
Maxim Dounin
mdounin at mdounin.ru
Tue Feb 12 10:41:08 UTC 2013
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