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