ПРОЕКТЫ 


  АРХИВ 


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:17:04 +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=MSip8+EMc6zT1RUC7LsScbJgiDTOlKh3hk5nrr6DHPA=; b=IpgfJHO9DtngS8eJ6QnejI4KIaUcuxEpSoQvgV59i9Bk5CCk07Sqt3kzQgz8VOQJTN KWKE38r4vd2vPZM2EvQSX+va+WBdVw3Ijx6DsHUhrBxAgT0SUbpV5Iog6KyEXl+/gfGy UeWPcQeQyUWifFDdsn0p4N/Q3LhI77VZ52ncZcmYyiRnkFI01m737JS3i5J8kvxeiV/O I59wmaBtuWOrfZ6yyg148PoBFGWxAMticiMVyKM9UPdUn8tMByHBqEsjWGe3bu1wNcKY QU7A/SxmtY+VChdkP/r858eq0qUQ9p5TkqlLw3fYzwecz9nSX+umNytBhVAUIFAxzUZX DBrw==
  • In-reply-to: <CAL-L5YBTH_94egdJruq6skQd=n2bBjUeQp5R1jcwVyf2arrx5Q@mail.gmail.com>
  • References: <kg3he7$6e2$1@ger.gmane.org> <201302211418.04129.vbart@nginx.com> <kg5jsd$ubd$1@ger.gmane.org> <CAL-L5YBTH_94egdJruq6skQd=n2bBjUeQp5R1jcwVyf2arrx5Q@mail.gmail.com>

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@xxxxxxxxx> написал:
Здравствуйте.

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


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



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


 




Copyright © Lexa Software, 1996-2009.