работа с rewrite

Igor Sysoev is at rambler-co.ru
Tue Sep 4 22:32:29 MSD 2007


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





More information about the nginx-ru mailing list