nginx check file existense with regexps.

Vadim Lazovskiy vadim.lazovskiy at gmail.com
Thu Feb 21 18:17:04 UTC 2013


- location ~ ^/xml/files/(?<doc>\d+)/\d+(?<doc_path>\d{2}).xml$ {
+ location ~ "^/xml/files/(?<doc>\d+)/\d+(?<doc_path>\d{2}).xml$" {


21 февраля 2013 г., 22:08 пользователь Vadim Lazovskiy <
vadim.lazovskiy at gmail.com> написал:

> Здравствуйте.
>
> Правильней, было б как-то так:
>
>
> location ~ ^/xml/files/(?<doc>\d+)/\d+(?<doc_path>\d{2}).xml$ {
>      alias /opt/xml/files/$doc_path/$doc.xml;
> }
>
>
> 21 февраля 2013 г., 21:01 пользователь -=Devil_InSide=- <
> devil_inside at mail.ru> написал:
>
> ,-----[Валентин Бартенев, 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 at jabber.ru   *
>> *   Registered linux user #450844    *
>> **************************************
>>
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>
>
>
> --
> Best Regards,
> Vadim Lazovskiy
>



-- 
Best Regards,
Vadim Lazovskiy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130221/e7d4f28a/attachment.html>


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