<div dir="ltr">Прошу прощения, не правильно понял задачу.<div><br></div><div style><div>        map $arg_xml $xml_path {</div><div>                "~(?<path>\d{2})$" $path;</div><div>        }</div><div><br>
</div></div><div style>        ...</div><div style><br></div><div>        location = /xml/index.html {</div><div>                root /opt/xml/files;</div><div>                try_files /$xml_path/$arg_xml/$arg_xml.xml /notfound.xml;</div>
<div>        }</div><div style>         </div></div><div class="gmail_extra"><br><br><div class="gmail_quote">21 февраля 2013 г., 21:01 пользователь -=Devil_InSide=- <span dir="ltr"><<a href="mailto:devil_inside@mail.ru" target="_blank">devil_inside@mail.ru</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">,-----[Валентин Бартенев, 21 February 2013 14:18]:<br>
<div class="im"><br>
> On Thursday 21 February 2013 02:07:06 -=Devil_InSide=- wrote:<br>
>> добрый день.<br>
>><br>
>> возникла проблема при переезде с одной технологии раздачи файлов на<br>
>> nginx. файлы исторически лежат в дереве вида<br>
>><br>
</div>>> <a href="http://domain.com/xml/files//10258063/10258063.xml" target="_blank">http://domain.com/xml/files//10258063/10258063.xml</a><br>
----------------8<--------------<br>
<div class="im">>> я чтото делаю не так, или же nginx не умеет проверять файлы , используя<br>
>> регулярные выражения?<br>
>><br>
><br>
> Да. Вы пытаетесь написать регулярное выражение там, где принимается<br>
> простая строка и предполагаете, что nginx будет с радостью сканировать на<br>
> каждый запрос всю ветвь файловой системы, а затем бегать по ним с<br>
> регулярным выражением.<br>
><br>
> Если эта директория произвольна и никак не отображается на запрос, то<br>
> какой в ней смысл? Команда mv должна помочь решить эту проблему.<br>
><br>
<br>
</div>выяснил схему переделывания - все оказалось не так плохо,<br>
файлы выстраивались<br>
/opt/xml/files/56/123456/123456.xml<br>
то есть для пред-директории юзались последние две цифры версии-имени.<br>
<br>
обошелся приблизительно так в двух случаях:<br>
<br>
rewrite "^/xml/files/(\d+(\d{2}))\.xml$" /xml/files/$2/$1/$1.xml;<br>
и<br>
        if ( $arg_file ~ "[0-9]+(?P<a>[0-9][0-9])"){<br>
rewrite ^ /xml/files/$a/$arg_file/$arg_file.xml? permanent;<br>
}<br>
<br>
__________<br>
mpd status:     [playing]<br>
ZZ Top - El Diablo<br>
<div class="im HOEnZb">**************************************<br>
*  jabber:  <a href="mailto:devil_inside@jabber.ru">devil_inside@jabber.ru</a>   *<br>
*   Registered linux user #450844    *<br>
**************************************<br>
<br>
<br>
</div><div class="HOEnZb"><div class="h5">_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Best Regards,<br>
<div>Vadim Lazovskiy</div></div>
</div>