查看: 1877|回复: 25

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

[复制链接]
发表于 2013-2-1 10:00:23 | 显示全部楼层 |阅读模式

在了解404页面前,先给大家了解一下几个常见的HTTP状态码。

* 404 : 请求的网页不存在(不排除日后该链接有效的可能性);
* 410 : 请求的网页不存在(永久);
* 200 : 服务器成功返回网页
* 302 : 网址临时重定向(跳转)
* 301 : 网址永久重定向
* 403 : 拒绝访问
* 500 : 内部错误

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

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

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

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

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

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

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

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

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

自定义错误页设置

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

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


发表于 2013-2-7 00:47:47 | 显示全部楼层
都是那么过来的  
发表于 2013-2-9 12:00:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2013-2-10 14:09:57 | 显示全部楼层
站个位在说  
发表于 2013-2-11 13:43:22 | 显示全部楼层
我来了~~~~~~~~~ 闪人~~~~~~~~~~~~~~~~  
发表于 2014-11-17 06:22:58 | 显示全部楼层
呵呵 大家好奇嘛 来观看下~~~~  
发表于 2014-12-4 17:40:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2014-12-27 20:02:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2015-1-27 18:02:39 | 显示全部楼层
(*^__^*) 嘻嘻……  
发表于 2015-3-1 16:17:57 | 显示全部楼层
满城尽待年终奖,弄弄才是喇叭腔  
高级模式
B Color Image Link Quote Code Smilies

本版积分规则