ПРОЕКТЫ 


  АРХИВ 


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



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@xxxxxxxxxx>написал:
> 
> > 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@xxxxxxxxx
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru

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


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

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.