ПРОЕКТЫ 


  АРХИВ 


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 Sat, Jul 23, 2011 at 05:38:16PM +0300, Gena Makhomed wrote:
> On 23.07.2011 10:18, Igor Sysoev wrote:
> 
>  >      location /index.php {
>  >
>  >          location = /index.php {
>  >              fastcgi_pass   ...
>  >              include        fastcgi_params;
>  >              fastcgi_param  SCRIPT_FILENAME  /path/to/files/index.php;
>  >              fastcgi_param  QUERY_STRING     $args;
>  >          }
>  >
>  >          location ~ ^/index.php(/.*)$ {
>  >              fastcgi_pass   ...
>  >              include        fastcgi_params;
>  >              fastcgi_param  SCRIPT_FILENAME  /path/to/files/index.php;
>  >              fastcgi_param  QUERY_STRING     do=$1;
>  >          }
>  >
>  >          return 404;
>  >      }
> 
> учитывая, что "вложенные location'ы - это наше всё" (с) Igor Sysoev
> (полная копия сообщения - http://www.lexa.ru/nginx-ru/msg34286.html)
> 
> в связи с этим вопрос: вышеприведенный фрагмент конфига
> наверное можно переписать и более эффективным способом?
> 
> location /index.php {
> 
>      location = /index.php {
>          fastcgi_pass   ...
>          include        fastcgi_params;
>          fastcgi_param  SCRIPT_FILENAME  /path/to/files/index.php;
>          fastcgi_param  QUERY_STRING     $args;
>      }
> 
>      fastcgi_pass   ...
>      include        fastcgi_params;
>      fastcgi_param  SCRIPT_FILENAME  /path/to/files/index.php;
>      fastcgi_param  QUERY_STRING     do=$1;
> }
> 
> ведь каждый запрос всегда обрабатывается в одном и только в одном
> location`е, и если он уже попал в /index.php - то дальше есть
> всего два варианта - или он точно равен /index.php или нет.

Нет,
          location ~ ^/index.php(/.*)$ {
вытаскивает значение для QUERY_STRING.


-- 
Igor Sysoev

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


 




Copyright © Lexa Software, 1996-2009.