Проблема с fastcgi

Igor Sysoev is at rambler-co.ru
Sun Mar 9 14:03:13 MSK 2008


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
-------------- next part --------------
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);
     }
 


More information about the nginx-ru mailing list