Здравствуйте.
Правильней, было б как-то так:
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@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@jabber.ru *
> * Registered linux user #450844 *
> **************************************
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
--
Best Regards,
Vadim Lazovskiy
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru