ПРОЕКТЫ 


  АРХИВ 


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:08:47 +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=VFnWAeY84we0qTiY47QT8amXKvPo1mtu3HOlHsMTQeE=; b=kXCmSs7c/nGR7OXrO/t2xvFBxTuLIRtpdIYMQCRqKMlCWwNvny6CFCjC7sH4C+z632 tP0RjXwKD90zOIwRXE0Sh5iT+vV+8SUsgwbD8n6G2BKLa9XOGapWPUgAw3pTrrLncvUp I3cgjGVBCblz+DTiYQDxGBhH+2JK4u0xg/n1P1PUeBYKCvB7y0HtSedzVGskPvJ1syrg CG7JIVJj8TltCV7ya3I0+sC2GgeEBS5ZF5VnyydSMBQ4sc30ljxwcOz1S3O0d3kzXmMR Mg07VAUZ1cZYP5Rid+HGuPEV3nIgdrgNAl5WI4yvNYHLLqj8Kj/SsZNIoQaeCGEOqOnw S+LQ==
  • 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>

Здравствуйте.

Правильней, было б как-то так:


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@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.