Редирект луп при попытке выдрать имя скрипта из урл, Symfony2

lyambda71 nginx-forum at nginx.us
Mon Nov 10 02:25:33 UTC 2014


Здравствуйте!

Уже который день бьюсь над решением проблемы. Ставлю Symfony2 в
сабдиректорию (это, думаю, не важно, т.к. при тестировании в корневой
директории по домену результат тот же). Конфиг из сервер блока следующий:

        listen 80;
        autoindex on;
        server_name example.com;
        root /var/www/example.com;

        rewrite ^/project/app_dev\.php/?(.*)$ /project/$1 permanent;

        location /project {
            alias /var/www/example.com/project/web;
            index app_dev.php;
            try_files $uri $uri/ @symfony;
        }

        location @symfony {
            rewrite ^/project/(.*)$ /project/app_dev.php/$1 last;
        }

        location ~ ^/project/(.+)\.php(/|$) {
            alias /var/www/example.com/project/web/;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_split_path_info ^/project/(.+\.php)(.*)$;
            fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
            fastcgi_param SCRIPT_NAME /project/$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
        }

При доступе по URL типа:
http://example.com/project/app_dev.php/demo
или
http://example.com/project/demo

Все работает ок. Запросы передаются к симфони и нет никаких левых
редиректов.

А вот при доступе к корню приложения, т.е. к:
http://example.com/project (со слешем или без - без разницы)

Выдается редирект луп. И не понимаю, откуда он. Интересно, что в этом
случае, если я уберу $uri/ (со слешем) из try_files в блоке location
/project {} - то все вдруг начинает работать. Однако я не понимаю, как эти
вещи взаимосвязаны. Плюс к этому, мне нужно, чтобы $uri/ ПРИСУТСТВОВАЛ, т.к.
я хочу иметь прямой доступ к реальным папкам на сервере, минуя симфони.

Пожалуйста, помогите разобраться.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,254711,254711#msg-254711



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