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

Igor Sysoev igor на sysoev.ru
Ср Июн 30 12:17:14 MSD 2010


On Wed, Jun 30, 2010 at 12:10:55PM +0400, Stanislav S. Osipov wrote:

> 30 июня 2010 г. 12:01 пользователь Alexander Kochetov
> <alexk at equestrian.ru> написал:
> > "Максимальное совпадение" относится только к location'ам, заданными строками.
> > Регулярные выражения проверяются до первого совпадения.
> >
> > --
> > Alexander Kochetov
> 
> Верно ли я понял, что для 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 (если
я правильно понял отрицательную логику в выражении - она трудно
воспринимается).


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



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