Групповой location, отдает php как файл
Gineaser
nginx-forum at nginx.us
Tue Nov 27 00:57:01 UTC 2012
Здравствуйте. Проблема в следующем.
Имею несколько локейшинов для Zend-овских проектов вида:
location /main {
set $application_env production;
if (!-f $request_filename) {
rewrite ^.*$ /main/index.php last;
}
}
Хочу объеденить их регуляркой в единый локейшен:
location ~* ^\/(main|my|real|gerb)\b.*$ {
set $application_env production;
if (!-f $request_filename) {
rewrite ^\/(.+)\b.*$ /$1/index.php last;
}
}
Т.е. создаю локейшен озаглавленный регулярным выражением без учета регистра,
и в него должно попасть все что начинается с example.com/main/ и другие. Он
отрабатывает
Идем дальше. Делаю реврайт захватывая часть отвечающую за название локейшена
(main, my, real и т.д), это тоже работает, проверил подставив в адрес
перенаправления http://www.$1.ru
Пробема же в том что при такой конфигурации когда я пытаюсь зайти по
http://example.com/main, к примеру, мне выдается запрос на скачку файла
main, который в свою очередь является index.php в директории проекта.
Без группового локейшена (по отдельности когда заданы) все работает.
Локейшен отвечающий за php выглядит у меня так (использую php-fpm):
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm-www.socket;
fastcgi_index index.php;
fastcgi_param PHP_VALUE "session.cookie_domain=.example.com";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param APPLICATION_ENV $application_env;
include fastcgi_params;
}
В чем проблема может крыться?
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,233247,233247#msg-233247
Подробная информация о списке рассылки nginx-ru