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