fastcgi и выдача статуса
Dmitriy MiksIr
miksir at maker.ru
Wed Feb 14 18:13:00 MSK 2007
Есть конфиг:
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;
>
>
More information about the nginx-ru
mailing list