404可能是最常见的HTTP错误了,无论是用户输入地址错误还是因为服务器上文件被删除,大多网站都返回404错误。

  1. 通过服务器配置来自定义404错误页面

  2. 错误页面的大小应该大于512Byte, 否则IE和Chrome将显示浏览器默认错误页面,也许IE和chrome认为小于512字节的页面不会提供有用信息。

  3. 不要跳转到网站前面或其它页面,不要返回其它错误代码, 如200, 302…

服务器配置

在Apache httpd中的配置

ErrorDocument 404 /error/404.html

在nginx中的配置

error_page 404 /error/404.html;

location /error/ {
    root /path/to/error;
}

对于PHP,在nginx中还得加上:

fastcgi_intercept_errors on;

否则4xx和5xx将不会被返回。

Reference:

Hypertext Transfer Protocol — HTTP/1.1
正确处理404错误页面
http://wiki.nginx.org/HttpFcgiModule#fastcgi_intercept_errors