Welcome! Log In Create A New Profile

Advanced

Re: nginx + rewrite (нужно упростить)

Sergey Shepelev
December 21, 2009 12:14PM
2009/12/21 grin <nginx-forum@nginx.us>:
> Всем привет,
>
> помогите упростить rewrite правила для nginx
>
>
>    rewrite  "^/(.+?)/:(s|b|p|c)([0-9]+)$"                                                              "/index.php?op=sections&act=show&$2=$3"                                         last;
>    rewrite  "^/(.+?)/:(s|b|p|c)([0-9]+):(s|b|p|c)([0-9]+)$"                                            "/index.php?op=sections&act=show&$2=$3&$4=$5"                                   last;
>    rewrite  "^/(.+?)/:(s|b|p|c)([0-9]+):(s|b|p|c)([0-9]+):(s|b|p|c)([0-9]+)$"                          "/index.php?op=sections&act=show&$2=$3&$4=$5&$6=$7"                             last;
>    rewrite  "^/(.+?)/:(s|b|p|c)([0-9]+):(s|b|p|c)([0-9]+):(s|b|p|c)([0-9]+):(s|b|p|c)([0-9]+)$"        "/index.php?op=sections&act=show&$2=$3&$4=$5&$6=$7&$8=$9"                       last;
>
>
> одной регуляркой это можно сделать? еще проблема, максимум может быть 9 переменных в правиле, т.е. если добавиться еще переменная, ничего не будет работать.
>
> спасибо.

Я могу ошибаться, но регекспами такая задача не решается.

Вам нужно заменять (:(s|b|p|c)(\d+))+ на &$n=$(n+1), но проблема в
том, что регекспы "не умеют считать".
Либо рекурсивно заменять :(s|b|p|c)(\d+) на &$1=$2, но регекспы не
умеют перезапускаться.

proxy_pass на микроскрипт, отдающий X-Accel-Redirect поможет сделать
любые странные замены.

>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,32466,32466#msg-32466
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

nginx + rewrite (нужно упростить)

grin December 21, 2009 11:20AM

Re: nginx + rewrite (нужно упростить)

Sergey Shepelev December 21, 2009 12:14PM

Re[2]: nginx + rewrite (нужно упростить)

Sergey Bondari December 23, 2009 06:00AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 295
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready