ПРОЕКТЫ 


  АРХИВ 


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: сбрасывается выделение в Location



On Fri, Jul 22, 2011 at 09:06:31PM +0300, Vasil Mikhalenya wrote:
> Уважаемые, подскажите где описано данное поведение
> 
>               location ~ ^/node-([0-9])$ {
>                       rewrite ^ /status break;   #rewrite сбрасывает 
> выделение в $1,
> соответсвенно получаем unknown host при fastcgi
>                       fastcgi_param SCRIPT_FILENAME 
> $document_root$fastcgi_script_name;
>                       include fastcgi_params;
>                       fastcgi_pass node-$1.local.worldoftanks.ru:9000;
> 
> Помогает set перед реврайтом. Но интересно, где это задокументировано.

Пока нигде. Любое регулярное выражение сбрасывает предыдущие выделения.

Но в данном случае rewrite не нужен: /status можно сразу указать в
fastcgi_param:

   fastcgi_param SCRIPT_FILENAME $document_root/status;

Кроме того, можно использовать именованное выделение:

   location ~ ^/node-(?<NODE>[0-9])$ {
       fastcgi_pass node-$NODE.local.worldoftanks.ru:9000;

Ну и наконец, если думать о масштабируемой конфигруации, то я бы сделал так:

   location /node- {
       location ~ ^/node-(?<NODE>[0-9])$ {
           fastcgi_pass node-$NODE.local.worldoftanks.ru:9000;
           fastcgi_param SCRIPT_FILENAME $document_root/status;
           include fastcgi_params;
       }
   }


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

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.