ПРОЕКТЫ 


  АРХИВ 


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: Вложенныедирективыи лиобъединениеусловий



Larry Gingras пишет:
Переписываю очень сложную и навороченную конфигурацию apache под nginx (для реализации связки nginx+apache). И вот например мне нужно тут в одной штуке нужно проверить несколько условий. В apache я просто писал несколько RewriteCond подряд. Тут в одном if несколько условий поставить нельзя. И, как оказалось, вложенные if не поддерживаются тоже.
Так что же делать в таком случае?
Вот один из примеров, который не знаю как расписать правильно:
if ($request_uri ~* \.(jpg|gif|wmv|flv)$) {
        if ($request_uri !~ ^/webmasters/) {
                if($invalid_referer) {
                        return 403;
                }
        }
}


if ($request_uri ~* \.(jpg|gif|wmv|flv)$) {
   set $uri_old $request_uri;
   rewrite .* /checkrule;
}

location /checkrule {
   if ($uri_old !~ ^/webmasters/) {
      return 403;
   }

}

А папук вебмастер обрабатывать отдельным локейшенем.
Что первое в голову пришло. Правда я не знаю насколько оптимальна будет подобная конструкция.

 




Copyright © Lexa Software, 1996-2009.