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