45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 电脑学院 > 服务器技术 >

服务器404错误页面http状态返回值为200的原因解析

电脑软硬件应用网 45IT.COM 时间:2010-03-20 09:01 作者:onlinerun

今天在网上找了很多关于404页面的相关资料,目的就是为了吃透关于404的一些知识。

登陆google管理工具后台,发现网站未验证,并提示:我们检测到您的 404(找不到文件)错误页在标头中返回了 200 (成功) 状态。(当出现这种问题时候 一定要注意了)

用google sitemaps验证自己的网站的时候,如果用html文件验证,始终遇到这样的错误(我们检测到您的 404(找不到文件)错误页面在响应标头中返回状态代码 200 (OK)),而无法完成验证而只能用元标记来验证。

这是主机404文件配置有问题,网友是这么说的,但是本人在404错误页上根据网站资料进行了设置,并在自定义404错误页面设置完毕后,使用Server Header检查工具,输入一个不存在网页的url,查看一下HTTP Header的返回情况,返回的不是“404 Not found”,还是200状态码。

不管在服务器的空间提供商的后台管理如何更改或删除自定义404错误页面设置,效果都一样,http状态返回值都是200,而不是“404 Not found”。后来集中生智,干脆把自己编写的自定义404错误页面删除掉,而服务器的后台自定义404错误设置还是保留404错误页的链接。用Server Header检查工具,测试一下,竟然发现状态码返回的是404,而且是系统默认的404错误页面。

网站资料如下(说明:前两类网站空间服务器大部分不支持,只支持.html或htm):

(一)Apache下设置404错误页面

为Apache Server设置 404错误页面的方法很简单,只需在.htaccess 文件中加入如下内容即可:ErrorDocument 404 /notfound.php

注意:

1.切记不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失

2.切记不要使用绝对URL,如果使用绝对URL返回的状态码是“302”+“200”(已测试)

(二)IIS/ASP.net下设置404错误页面

首先,修改应用程序根目录的设置,打开 “web.config” 文件编辑,在其中加入如下内容:

<configuration>

<system.web>

<customErrors mode="On" defaultRedirect="error.asp">

<error statusCode="404" redirect="notfound.asp" />

</customErrors>

</system.web>

</configuration>

注:上文例中“error.asp”为系统默认的404页面,“notfound.asp”为自定义的404页面,使用时请修改相应文件名。

然后,在自定义的404页面“notfound.asp”中加入:

<%

Response.Status = “404 Not Found”

%>

这样,便可以保证IIS能够正确地返回“404”状态码

(三)在IIS/ASP.net下设置404静态页面

设置静态404错误页面的方法则比较简单,在IIS管理器中右键单击要管理的网站,打开“属性”中的“自定义错误信息”页,为“404”设定相应的错误信息页即可。不过,此处在“消息类型”中一定要选择“文件”或“默认值”,而不要选择“URL”,不然,将导致返回“200”状态码。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识