А-ля rewrite

Andrew Velikoredchanin andrew at rodtext.ru
Mon Dec 20 15:30:45 MSK 2004


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.





More information about the nginx-ru mailing list