ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: А-ля rewrite



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 не должны работать.

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

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





 




Copyright © Lexa Software, 1996-2009.