А-ля rewrite

Igor Sysoev is at rambler-co.ru
Mon Dec 20 18:56:10 MSK 2004


On Mon, 20 Dec 2004, Andrew Velikoredchanin wrote:

> Igor Sysoev пишет:
> > On Mon, 20 Dec 2004, Andrew Velikoredchanin wrote:
> >
> >
> >>Цель - перенаправить определенный урл через фронтэнд nginx на скрипт на
> >>бэкэнде. Причем вот таким образом - /prefix/la-la-la/([0-9]+)/la-la-la
> >>-> /script.cgi?id=$1. Т.е. часть исходного урл-а должна
> >>преобразовываться в параметр вызова скрипта. И все это в режиме proxy.
> >>На nginx это возможно?
> >>
> >>В apache я для этого использую вот такое правило:
> >>RewriteRule     ^[0-9]+/[^/]+/[0-9]+/([0-9]+)/.*$ /script.cgi?id=$1
> >
> >
> > Нет, сейчас rewrite работает только для uri без аргументов.
>
> Вроде получилось обойти.
> Сделал вот так:
>
> location ~* ^/nfiles/[0-9]+/[^/]+/[0-9]+/([0-9]+)/.*$ {
>    proxy_pass  http://216.240.137.136:88/show-file.fcgi?;
>    ...
>    proxy_set_x_url            on;
>    ...
> }
>
> И прямо из скрипта анализирую HTTP_X_URL.

location c регулярным выраежнием и proxy_pass не должны работать.


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





More information about the nginx-ru mailing list