ПРОЕКТЫ 


  АРХИВ 


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]

Групповой location, отдает php как файл


  • To: nginx-ru@xxxxxxxxx
  • Subject: Групповой location, отдает php как файл
  • From: "Gineaser" <nginx-forum@xxxxxxxx>
  • Date: Mon, 26 Nov 2012 19:57:01 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=eTYalCe3hcHAvAiQV9CRCorFW4QfXCV0cSxGzomhYSI=; b=IJ11IMIYztdj9puxPWkLXeYCfUFLqzVmpp7Vk8BzAxFo488Wl2Ig+/e0WpiHI6Kk26PrTL+H8NlS5piDJyzdq9tx76DgFsjV1YAJcPBc20/BsvSmsyy4JhDHeHl8eRUt;

Здравствуйте. Проблема в следующем. 
Имею несколько локейшинов для 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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.