HTTP status code bug?
Maxim Dounin
mdounin at mdounin.ru
Fri Feb 5 00:48:23 MSK 2010
Hello!
On Thu, Feb 04, 2010 at 03:53:21PM -0500, double wrote:
> The browser hits a non-existing file. An "error_page" points
> to a fastcgi-application. The fastcgi thinks this is not an error
> and explicit sets: "Status: 200" or "Status: 302", ...
>
> One would expect that the fastcgi can overwrite the status-code.
Normally error pages are mapped to static files, and their status
is obviously 200. It would be a bit strange to return status 200
just because error page was found, right?
If you want to override original error code with one returned by
error page itself, you should use '=' in error_page directive.
See here for more details:
http://wiki.nginx.org/NginxHttpCoreModule#error_page
> E.g.: http://www.domain.name/media/id12345
> nginx returns 404, regardless of the fastcgi.
>
>
> http {
> server {
> listen 80;
> server_name www.domain.name;
> error_page 404 /index.cgi;
- error_page 404 /index.cgi;
+ error_page 404 = /index.cgi;
> location / {
> index index.cgi;
> fastcgi_pass unix:/var/run/fastcgi/dispatch.sock;
> ....;
> }
> location ^~ /media/ {
> alias /var/www/media/;
> }
> }
> }
Maxim Dounin
More information about the nginx
mailing list