ПРОЕКТЫ 


  АРХИВ 


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.


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: nginx check file existense with regexps.
  • From: Vadim Lazovskiy <vadim.lazovskiy@xxxxxxxxx>
  • Date: Thu, 21 Feb 2013 22:45:21 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=xCUqcXMpOSi1xXielcmPmBF4Z+Hd/VXh4kY1+66nrMU=; b=StLHsyMIEb4wX5SORhVPghwzD52S2CrsMVFN2fXsjdCr7ukaF0RJBiLaaCjp9R8ZvF dg6tZOoO7v8SRPnFP2dh1zGArZM1nbbx5pbQg7pPfS2iucZEkz+x0mxxQann3GhlS1YF hesptXKpRy3itTszkpmWqOKPH2KsA30GTbEvpevZm9up7eTzDvevDWh6vlIcl1LzAkph IUXeeS+Ziq8x7VRDZz1AMS7+meqGJM9U+Xqn4TO0nGQZXBBs5+RK3OTLUoMUBYNEbRC/ KHUulnk8ogSegZKwjtnudP9trb3U49QrLGrFMFzO3gOQ1CxnHqTd+kqGzcycP4DS0c6N 9TeQ==
  • In-reply-to: <kg5jsd$ubd$1@ger.gmane.org>
  • References: <kg3he7$6e2$1@ger.gmane.org> <201302211418.04129.vbart@nginx.com> <kg5jsd$ubd$1@ger.gmane.org>

Прошу прощения, не правильно понял задачу.

        map $arg_xml $xml_path {
                "~(?<path>\d{2})$" $path;
        }

        ...

        location = /xml/index.html {
                root /opt/xml/files;
                try_files /$xml_path/$arg_xml/$arg_xml.xml /notfound.xml;
        }
         


21 февраля 2013 г., 21:01 пользователь -=Devil_InSide=- <devil_inside@xxxxxxx> написал:
,-----[Валентин Бартенев, 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



--
Best Regards,
Vadim Lazovskiy
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.