ПРОЕКТЫ 


  АРХИВ 


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 и выдача ста туса




Есть конфиг:

        location / {
            error_page 404 =200 /index.php;
        }

        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:8888;
            fastcgi_intercept_errors off;
            fastcgi_index  index.php;
            ...
        }

в index.php выдается header("Status: 404")

Если запрашивать /index.php, то все ок, выдается 404 или любой другой статус.
А если запрашивать / или /something/, то выдается 200 всегда.

nginx/0.5.7

Igor Sysoev пишет:
On Wed, Feb 14, 2007 at 05:31:25PM +0300, Dmitriy MiksIr wrote:

По 404 ошибке происходит редирект в fastcgi скрипт (с реврайтингом кода ошибки на 200 - error_page 404 =200 /fastcgi_location..) От fastcgi сервера должен приходить статус, если он отличный от 200, и этот статус нужно отдавать клиенту вместе с телом ответа fastcgi сервера). Уже накрутил кучу параметров - не получается =( Нужен для этого fastcgi_intercept_errors on? И в каком формате fastcgi должен

Нет, нужно off.

сообщать код, в rfc-шном (HTTP/1.0 404 ..) или CGI-ном (Status: 404)?

Status: 404

И еще одна маленькая проблема - если делать HEAD запрос, который уходит в fastcgi и онный возвращает большое тело - клиенту вываливается кусок этого тела... странно это, попробую еще подебагить ;)

Это должен обрабатывать FastCGI, ему для этого передаётся

fastcgi_param  REQUEST_METHOD     $request_method;






 




Copyright © Lexa Software, 1996-2009.