自定义404页面发送200状态代码

时间:2010-01-04 22:10:37

标签: php http-status-code-404 http-status-codes

404错误页面的200 OK标题错误:

  

服务器响应:
  http://www.example.com/err404.html HTTP
  状态代码:HTTP / 1.1 200 OK

它应该给404,我的客户说。

2 个答案:

答案 0 :(得分:5)

我猜您使用ErrorDocument的绝对网址如下:

ErrorDocument 404 http://example.com/err404.html

在这种情况下,服务器会使用 http://example.com/err404.html 作为位置进行302重定向。如果随后请求了该URL,则服务器将按您的经验发送200状态代码。

请尝试使用绝对网址路径:

ErrorDocument 404 /err404.html

答案 1 :(得分:2)

如果错误页面是实际请求,您将获得状态200(即错误页面由浏览器地址栏直接请求,书签,PHP中的重定向等)。如果在实际存在无效请求的情况下,或者当PHP与header("HTTP/1.1 404 Not Found");一起动态包含错误页面时,Web服务器本身会返回错误页面,您将获得状态404。在Apache HTTP服务器中,自定义错误页面的位置可在httpd.conf中的某处进行配置。