ПРОЕКТЫ 


  АРХИВ 


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]

Re: Проблема с fastcgi



On Sun, Mar 09, 2008 at 10:48:57AM +0000, David Mzareulyan wrote:

> У меня вот такое:
> 
> location /      { error_page 403 404 405 = @php; }
> location @php   { fastcgi_pass unix:/var/run/php-fpm.sock; }
> 
> Не работает. Точнее, управление на скрипт передаётся, но он получает GET 
> (!) запрос.
> 
> nginx 0.5.35

Да, метод меняется.
Прилагаемый патч сохраняет метод при перенапрвлении в именованный location.
Таким образом, при перенаправлении в @php сохраняется не только $uri, но
и $remote_method.


-- 
Игорь Сысоев
http://sysoev.ru
Index: src/http/ngx_http_special_response.c
===================================================================
--- src/http/ngx_http_special_response.c        (revision 1240)
+++ src/http/ngx_http_special_response.c        (working copy)
@@ -439,9 +439,6 @@
 
     r->err_status = err_page->overwrite;
 
-    r->method = NGX_HTTP_GET;
-    r->method_name = ngx_http_get_name;
-
     r->zero_in_uri = 0;
 
     args = NULL;
@@ -494,6 +491,10 @@
     }
 
     if (uri->data[0] == '/') {
+
+        r->method = NGX_HTTP_GET;
+        r->method_name = ngx_http_get_name;
+
         return ngx_http_internal_redirect(r, uri, args);
     }
 


 




Copyright © Lexa Software, 1996-2009.