Re: Арифметические операции в rewrite

Maxim Dounin mdounin at mdounin.ru
Wed Oct 30 12:24:50 UTC 2013


Hello!

On Wed, Oct 30, 2013 at 12:45:49AM +0400, Роман wrote:

> Перл не знаю, а из примеров в интернете ничегон е понятно.
> Можешь показать как?

Как-то так:

    perl_set $minus 'sub {
        my $r = shift; return $r->variable("page") - 1;
    }';

    server {
        ...
        rewrite ^/discussions/page-(?<page>[0-9]+)\.html /index.php?page=$minus;
        ...
    }

Впрочем, я бы вынес всю эту логику в php, жизнь будет проще.  
Программировать надо на предназначенных для этого языках 
программирования, а не на конфигах nginx'а.

> 
> 
> 29 октября 2013 г., 12:17 пользователь Maxim Dounin <mdounin at mdounin.ru>написал:
> 
> > Hello!
> >
> > On Tue, Oct 29, 2013 at 03:29:25AM +0400, Роман wrote:
> >
> > > есть простое правило
> > >
> > > rewrite ^/discussions/page-([0-9]+)\.html /index.php?page=$1;
> > >
> > > можно ли как то вычесть из переменной $1?
> > >
> > > т.е. page-2.html будет передавать page=1 и тд
> >
> > Можно с помощью встроенного перла, см. http://nginx.org/r/perl_set.
> >
> > --
> > Maxim Dounin
> > http://nginx.org/en/donation.html
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru

> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


-- 
Maxim Dounin
http://nginx.org/en/donation.html



Подробная информация о списке рассылки nginx-ru