Re: Отрицание для location

Stanislav S. Osipov oss на nigma.ru
Пн Июл 5 10:58:42 MSD 2010


На самом деле, мне нужно было вот такое

location / {
    if ($uri ~*
(^\/|\.(jpe?g|gif|png|tiff?|ico|css|zip|tgz|tbz2?|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|mp3|flac|ape|flv|swf|html?|php|bmp|rtf|js(on)?))$)
{
        break;
    }
    return 404;
}

Эх...


30 июня 2010 г. 12:22 пользователь Igor Sysoev <igor на sysoev.ru> написал:
> On Wed, Jun 30, 2010 at 12:20:23PM +0400, Stanislav S. Osipov wrote:
>
>> >> Верно ли я понял, что для test.php nginx отработает обе директивы:
>> >>
>> >> location ~ \.(?!(php|js|css))$ { deny all; }
>> >> location ~ \.php$ { allow all; }
>> >>
>> >> Но для test.txt nginx не должен идти далее первой:
>> >>
>> >> location ~ \.(?!(php|js|css))$ { deny all; }
>> >> location ~ \.php$ { allow all; }
>> >>
>> >> Все верно?
>> >
>> > Если под отработкой обех директив имеется ввиду deny/allow, то ответ - нет.
>> > nginx ищет совпаший location и использует его конфигурацию.
>> > Для test.php будет выбран второй location, а для - test.txt (если
>> > я правильно понял отрицательную логику в выражении - она трудно
>> > воспринимается).
>>
>> Игорь, просите, а что же для test.txt?
>
> Первый - заредактировался.
>
>> Коллеги, уточняю вопрос: мне не интересно исполнение содержимого {},
>> меня интересует какие из location и когда проходят, а до каких nginx
>> не дойдет.
>
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>


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