欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-12-07 22:14:37
在了解404页面前,先给大家了解一下几个常见的http状态码。* 404 : 请求的网页不存在(不排除日后该链接有效的可能性);* 410 : 请求的网页不存在(永久);*...

在了解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效果。