ПРОЕКТЫ 


  АРХИВ 


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 check file existense with regexps.



,-----[Валентин Бартенев, 21 February 2013 14:18]:

> On Thursday 21 February 2013 02:07:06 -=Devil_InSide=- wrote:
>> добрый день.
>> 
>> возникла проблема при переезде с одной технологии раздачи файлов на
>> nginx. файлы исторически лежат в дереве вида
>> 
>> http://domain.com/xml/files//10258063/10258063.xml
----------------8<--------------
>> я чтото делаю не так, или же nginx не умеет проверять файлы , используя
>> регулярные выражения?
>> 
> 
> Да. Вы пытаетесь написать регулярное выражение там, где принимается
> простая строка и предполагаете, что nginx будет с радостью сканировать на
> каждый запрос всю ветвь файловой системы, а затем бегать по ним с
> регулярным выражением.
> 
> Если эта директория произвольна и никак не отображается на запрос, то
> какой в ней смысл? Команда mv должна помочь решить эту проблему.
> 

выяснил схему переделывания - все оказалось не так плохо, 
файлы выстраивались 
/opt/xml/files/56/123456/123456.xml 
то есть для пред-директории юзались последние две цифры версии-имени.

обошелся приблизительно так в двух случаях:

rewrite "^/xml/files/(\d+(\d{2}))\.xml$" /xml/files/$2/$1/$1.xml;
и
        if ( $arg_file ~ "[0-9]+(?P<a>[0-9][0-9])"){                            
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
               
rewrite ^ /xml/files/$a/$arg_file/$arg_file.xml? permanent;                     
                                                                                
                                                                 
}

__________
mpd status:     [playing]
ZZ Top - El Diablo
**************************************
*  jabber:  devil_inside@xxxxxxxxx   *
*   Registered linux user #450844    *
**************************************


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


 




Copyright © Lexa Software, 1996-2009.