Re: Re[4]: модуль eval+fastcgi_pass

Valery Kholodkov valery+nginxru at grid.net.ru
Fri Aug 7 18:19:54 MSD 2009


----- Serge Bondari <bondari at 1stomni.com> wrote:
> Возникла еще проблема с логикой внутреннего редиректа: внутри блока eval перменная $uri перекрывается
> значением /eval_135604988 и у меня нет возможности при перезапуске
> вычисления после "rewrite .. last;" протащить внутрь евал блока
> эффективное значение $url. При использовании $request_uri естественно
> вся это чудо-конструкция зацикливается.
> 
> 
> eval $redirecturi {
>      proxy_pass_request_body off;
>      proxy_pass_request_headers
>      proxy_method GET;
>      proxy_set_header "Effective-Request-Uri" $uri;
>      proxy_set_header "Host" $http_host;
>      proxy_pass http://$server_addr:$server_port/nginx.php ;
> }
> 
> if ($redirecturi ~ "^300:(.+)$") {
>      set $uri_tmp $1;
>      rewrite (^.*$) $uri_tmp last;
> }
> 
> 
>      в мануале ясно сказано что такие фокусы типа
>      
>       location / {
>                 set $preserveUri $uri;
> 
>                 eval $var {
>                      # $preserveUri is empty
>                 }
>             }
> 
> 
>      не пройдут. можно ли как-то это обойти?

Не проще ли вместо всей этой конструкции использовать X-Accel-Redirect?

-- 
Regards,
Valery Kholodkov





More information about the nginx-ru mailing list