ПРОЕКТЫ 


  АРХИВ 


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: работа с rewrite



On Tue, Sep 04, 2007 at 12:28:25AM +0400, Arkadiy Kulev wrote:

> Есть вопрос такой.
> сейчас есть кусок кода вида:
> 
> rewrite   
> ^/albums/([a-z]+)/[0-9]/[0-9]/[0-9]/[0]*([0-9]*)([0-9])/(.*)/cache/[0]*([0-9]*)-(.*)\.([a-z]*)$
>  /albums/$1_cache/$3/$2$3/$6/$5-$6.$7;
> if (!-f $request_filename) {
> rewrite   ^/albums/([a-z]+)_cache/[0-9]/[0-9]+//(.*)$ /albums/$1_cache/src/$2;
> .....
> 
> если я правильно все понимаю, то rewrite идущие друг за другом
> накладываются друг на друга и в результате исходное значение меняется
> до безумия.
> 
> но вдруг я хочу вернуть старое исходное значение и после строчки
> "if (!-f $request_filename) {" работать уже с ним, отменив все
> предыдущие rewrite.
> 
> как это сделать?

    set  $ouri   $uri;

    ... rewrites ...

    if (!-f $request_filename) {
        rewrite  ^  $ouri;
    }


-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.