А-ля rewrite

Andrew Velikoredchanin andrew at rodtext.ru
Tue Dec 21 09:55:41 MSK 2004


Igor Sysoev пишет:
> 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 не должны работать.

Но работает. Параметр конечно не определяется, но переход на скрипт 
бэкенда идет.

Не убирай, пожалуста, эту функциональность в будущих версиях.





More information about the nginx-ru mailing list