FW: "limit_except" directive duplicate

Igor Sysoev is at rambler-co.ru
Thu Nov 15 13:58:33 MSK 2007


On Thu, Nov 15, 2007 at 01:47:28PM +0300, Анатолий Шарифулин wrote:

> Спасибо и за время тоже J
> 
>  
> 
> Возникла новая проблема:
> 
>  
> 
>                                location / {
> 
>                                                set  $lang  ru;
> 
>                                                if ($http_cookie ~* "lang=([^;]+)(?:;|$)") {
> 
>                                                                set  $lang  $1;
> 
>                                                }
> 
>                                                root  /???/data/$lang/;
> 
>                                                
> 
>                                                limit_except  HEAD GET POST {
> 
>                                                                allow  ???;
> 
>                                                                deny   all;
> 
>                                                }
> 
>                                                ???
> 
>                                }
> 


Можно что-то придумать с форматирвоанием ? Я такие конфиги читать не могу.

> В логах следующее:
> 
>  
> 
> 2007/11/15 13:40:01 [warn] 5310#0: *7 using uninitialized "lang" variable, ???
> 
> 2007/11/15 13:40:01 [error] 5310#0: *7 stat() "/??? /data//video/" failed (2: No such file or directory), ???
> 
> 2007/11/15 13:40:02 [crit] 5310#0: *7 rename() "/???/data//video/" failed (20: Not a directory) while reading upstream, ???
> 
>  
> 
> Т.е. переменная $lang не определенна, только без limit_except все работает, а с ограничением ошибка!

Проблема в том, что в limit_except своя конфигурация и диркективы rewrite
для них не выполняются. Едиственный workaround - вынести

   set
   if () {
      set
   }

на уровень сервера.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list