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

Igor Sysoev igor на sysoev.ru
Вт Мар 2 15:45:52 MSK 2010


On Tue, Mar 02, 2010 at 01:48:28PM +0200, Олег Черній wrote:

> 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 mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru

-- 
Игорь Сысоев
http://sysoev.ru



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