当前位置:首页 >> 服务器

IIS下自定义404页面返回200状态码的严重性及解决方法

在了解404页面前,先给大家了解一下几个常见的HTTP状态码。
* 404 : 请求的网页不存在(不排除日后该链接有效的可能性);
* 410 : 请求的网页不存在(永久);
* 200 : 服务器成功返回网页
* 302 : 网址临时重定向(跳转)
* 301 : 网址永久重定向
* 403 : 拒绝访问
* 500 : 内部错误

当访问一个不存在的页面时会返回404状态码,告诉搜索引擎这个页面不存在或者已经删除。
默认情况下没做自定义404页面时,访问一个不存在的页面会如下图所示

IIS下自定义404页面返回200状态码的严重性及解决方法

出现这样的页面无论是对用户还是对搜索引擎都是非常不友好的。
下面我们就来制作自定义的错误页面,效果如下图所示:

IIS下自定义404页面返回200状态码的严重性及解决方法

这样的404页面,有几个好处:
一、可以提示访客所访问的页面不存在,而不是让访客看到一个错误的提示
二、可以引导访客浏览其它页面,减少跳出率

现在你是不是为上面的效果感到很激动?

且慢,做好404页面后还要检测一下404页面的状态码,是不是真的是返回404,还是200?
可以在这个地址http://www.seobox.org/getheader.htm里检测状态码,输入你网站上一个不存在的页面,看他返回的状态码是什么?
如,下面我就检测一下硕研科技网站上的404状态码,结果如下图:

IIS下自定义404页面返回200状态码的严重性及解决方法

可以看到我们访问http://www.shuoyan.net/fdsfsdf这个不存在的页面时返回的状态码是404.这就达到了我们的目的。
要是你做了自定义错误页后,用上面的工具检测到你的错误页返回的是200状态码的话,一定要联系空间商进行修改,不然后果非常严重。

要是你的虚拟主机是IIS,在IIS中设置404为相应的错误信息页有两种方式:

1、如果“消息类型”你选择的是“文件”,则只能使用.html或htm结尾的文件,IIS执行后会自动输出404状态。

消息类型选择文件,然后文件那里点击浏览,选择你自定义的错误页面即可。如下图所示:

IIS下自定义404页面返回200状态码的严重性及解决方法

自定义错误页设置

2、如果你“消息类型”选择了“URL”,则必须用asp文件(因为只有在asp文件中才能设置404状态),否则访问错误页时会返回200状态码。

这个你叫空间商设置一下即可。
如果网站的自定义404错误页面在url无效时不返回“404”状态码而代之以“200”,会发生什么情况呢?很明显,搜索引擎会认为这个“根本不存在的”网页在网站内是存在的,这会导致很多问题,影响网站的最终SEO效果。