Re: Неверно устанавливается $request_uri :( . Nginx/0.8.33 + FastCGI + ZendFramework + SSI

Олег Черній oleg.cherniy на gmail.com
Вт Мар 2 14:48:28 MSK 2010


2010/3/1 Alexandre Kalendarev <akalend at mail.ru>:

Экспериментальным путем нашел выход, может кому пригодиться:

server {
        listen       80;
        server_name  zfproject;
        charset utf-8;

        root   /var/www/zfproject/public;
        ssi on;

        location ~ /(img|css|js|assets) {
                #access_log  off;
                access_log  /var/log/nginx/zfproject_img_access.log main;
                expires 1h;
        }

        location / {
                access_log  /var/log/nginx/zfproject_main_access.log main;
                error_log  /var/log/nginx/zfproject_error.log;
                set $_request_uri $fastcgi_script_name;

                rewrite  ^(.*)$  /index.php last;
                break;
        }

        location /index.php {
                fastcgi_pass 127.0.0.1:7777;
                fastcgi_param   APPLICATION_ENV development;
                include /etc/nginx/fastcgi.conf;
                fastcgi_param  REQUEST_URI       $_request_uri;
        }
}


> я бы переписал ZendController
> было бы эффективнее в 10 раз.
> мне там много что не нравится, так как он (Zend Framework) проектировался под аппач.
>
>
>> Особенность работы Zend Framework: при запросе любого адреса
>> происходит локальный редирект на index.php,
>> информация о том какая именно страница запрашивалась берется из
>> переменной окружения REQUEST_URI.
>>
>> Описание проблемы: при запросе любой страницы вида /index/mypage все
>> работает нормально на конфигурации, приведенной ниже. Но если я делаю
>> отдельный контроллером блоки, которые хочу встравить через SSI
>> инструкцию вида <!--# include virtual="/blocks/someblock" -->, то
>> вместо того чтоб в REQUEST_URI получить "/blocks/someblock" я получаю
>> "/index/mypage" (адрес страницы, из которой вызываются SSI-инструкции)
>>
>> Подскажите как можно эту проблему решить?
>>
>> server {
>>         listen       80;
>>         server_name  zfproject;
>>
>>         root   /var/www/zfproject/public;
>>         ssi on;
>>
>>         location ~ /(img|css|js|assets) {
>>                 expires 1h;
>>         }
>>
>>         location / {
>>                 rewrite  ^(.*)$  /index.php last;
>>                 break;
>>                 index  /index.php;
>>         }
>>
>>         location ~ \.php(/|$) {
>>                 fastcgi_pass 127.0.0.1:7777;
>>                 fastcgi_param   APPLICATION_ENV development;
>>                 include /etc/nginx/fastcgi.conf;
>>         }
>> }
>>
>>
>> --
>> З повагою, Олег Черній
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru at nginx.org
>> http://nginx.org/mailman/listinfo/nginx-ru
>>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>



-- 
З повагою, Олег Черній


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