ПРОЕКТЫ 


  АРХИВ 


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: Замена if на try_files



Hello!

On Wed, Dec 14, 2011 at 03:37:03PM +0200, Sergey Kobzar wrote:

> On 12/14/11 01:52, Maxim Dounin wrote:
> >Hello!
> >
> >On Tue, Dec 13, 2011 at 08:23:57PM +0200, Sergey Kobzar wrote:
> >
> >[...]
> >
> >>    location ^~ /$subfolder/errors/ {
> >>            ...
> >>    }
> >
> >Unrelated note: так работать не будет.  В регулярных выражениях
> >переменные не поддерживаются, т.к. регулярные выражения
> >компилируются на стадии чтения конфигурации.
> 
> Максим, спасибо. Видимо я неверно прочитал документацию.
> 
> Т.е. если выражение попадает хотя бы под один локейшн с обычной
> строкой в шаблоне, то после такого локейшна location ^~
> обрабатываться не будет?

Нет.  Моё замечание относилось именно к использованию *переменных* 
в регулярном выражении.

> Можно немного поподробней?

Порядок выбора location подробно расписан тут:

http://nginx.org/ru/docs/http/ngx_http_core_module.html#location

: Для определения соответствия location'а и запроса сначала 
: проверяются location'ы, заданные обычными строками. Среди них 
: ищется максимальное совпадение. Затем проверяются регулярные 
: выражения. В отличие от обычных строк, они не сортируются, а 
: проверяются в порядке их следования в конфигурационном файле. 
: Проверка регулярных выражений прекращается после первого же 
: совпадения. Если совпадение с регулярным выражением не найдено, то 
: используется конфигурация максимально совпавшего location'а.

Регулярные выражения не проверяются, если это явно запрещено с 
помощью модификатора "^~", либо найдено точное совпадение с 
location'ом, заданным с модификатором "=".

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.