"вложенные location'ы - это наше всё"

Gena Makhomed gmm на csdoc.com
Сб Июл 23 14:38:16 UTC 2011


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 или нет.

-- 
Best regards,
  Gena



Подробная информация о списке рассылки nginx-ru