ПРОЕКТЫ 


  АРХИВ 


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: nginx try_files & drupal



On Fri, Oct 09, 2009 at 09:32:54PM +0700, Denis F. Latypoff wrote:

> Hello Igor,
> 
> Friday, October 9, 2009, 8:59:25 PM, you wrote:
> 
> > On Fri, Oct 09, 2009 at 05:47:51PM +0400, Vasiliy G Tolstov wrote:
> 
> >> > Вместо
> >> > 
> >> >  location ~ 
> >> > "^/(CHANGELOG|COPYRIGHT|INSTALL\.mysql|INSTALL\.pgsql|INSTALL|LICENSE|MAINTAINERS|UPGRADE)\.txt"
> >> >  {
> >> >    deny all;
> >> >  }
> >> > 
> >> > лучше сделать
> >> >    location = /CHANGELOG { deny all; }
> >> >    location = /INSTALL.mysql { deny all; }
> >> >    location = /INSTALL.pgsql { deny all; }
> >> >    location = /INSTALL { deny all; }
> >> >    и т.д.
> >> > 
> >> > 
> >> 
> >> А если таких location =200 ? тоже стоит сделать location для каждого или
> >> регуляркой?
> 
> > В этом случае регулярное выражение может быть быстрее.
> 
> 99% запросов в этот location не попадут, но каждый из них
> будет проверятся на соответствие этому регулярному выражению, а в
> итоге уйдет в location / { }.
> 
> Так что думаю сбалансированное дерево из 200 элементов в этом случае
> предпочтительней. Тем более, что в худшем случае будет log_e(200) = 5
> memcpy() вызовов, и неизвестно во что скомпилится регулярка с 200
> словами.
> 
> Ы?

Там дерево не совсем сбалансировано, но, возможно, да, оно может оказаться
быстрее такого регулярного выражения.


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



 




Copyright © Lexa Software, 1996-2009.