- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IIS下自定义404页面返回200状态码解决方法
IIS下自定义404页面返回200状态码的严重性及解决方法
今天给大家分享自己在制作404页面时遇到的细节问题,分享给大家目的是让大家不要忽视任何一个可能给自己网站收录及排名有影响的细节,往往细节决定成败,处理不好可能导致网站收录减少,甚至被K。
在了解404页面前,先给大家了解一下几个常见的HTTP状态码。* 404 : 请求的网页不存在(不排除日后该链接有效的可能性);* 410 : 请求的网页不存在(永久);* 200 : 服务器成功返回网页* 302 : 网址临时重定向(跳转)* 301 : 网址永久重定向* 403 : 拒绝访问*?500 : 内部错误
当访问一个不存在的页面时会返回404状态码,告诉搜索引擎这个页面不存在或者已经删除。默认情况下没做自定义404页面时,访问一个不存在的页面会如下图所示
出现这样的页面无论是对用户还是对搜索引擎都是非常不友好的。下面我们就来制作自定义的错误页面,效果如下图所示:这样的404页面,有几个好处:一、可以提示访客所访问的页面不存在,而不是让访客看到一个错误的提示二、可以引导访客浏览其它页面,减少跳出率
现在你是不是为上面的效果感到很激动?
且慢,做好404页面后还要检测一下404页面的状态码,是不是真的是返回404,还是200?可以在这个地址/getheader.htm里检测状态码,输入你网站上一个不存在的页面,看他返回的状态码是什么?如,下面我就检测一下硕研科技网站上的404状态码,结果如下图:可以看到我们访问/fdsfsdf这个不存在的页面时返回的状态码是404.这就达到了我们的目的。要是你做了自定义错误页后,用上面的工具检测到你的错误页返回的是200状态码的话,一定要联系空间商进行修改,不然后果非常严重。
要是你的虚拟主机是IIS,在IIS中设置404为相应的错误信息页有两种方式:
1、如果“消息类型”你选择的是“文件”,则只能使用.html或htm结尾的文件,IIS执行后会自动输出404状态。
消息类型选择文件,然后文件那里点击浏览,选择你自定义的错误页面即可。如下图所示:
自定义错误页设置
2、如果你“消息类型”选择了“URL”,则必须用asp文件(因为只有在asp文件中才能设置404状态),否则访问错误页时会返回200状态码。
这个你叫空间商设置一下即可。如果网站的自定义404错误页面在url无效时不返回“404”状态码而代之以“200”,会发生什么情况呢?很明显,搜索引擎会认为这个“根本不存在的”网页在网站内是存在的,这会导致很多问题,影响网站的最终SEO效果。
自定义404页面返回不当状态码如“200”等给网站最终SEO效果带来的不利影响,因此,确保自定义的404错误页面能够返回“404”状态码是极为重要的,也是网站优化与SEO的基本要求。这一点如何保证呢?如何才能为网站设置能够正常工作的404错误页面?下面针对不同情况详细介绍。定制404错误页面的基本原则首 先应明确的是,404错误应工作在服务器级而不是网页级。对定制使用动态页面如PHP脚本类型的404页时,必须确保在PHP执行前服务器已经顺利地送出 “404”状态码,不然,一旦执行到了ISAPI级别,返回的状态码便只能是“200”或其他如“302”之类的重定向状态码了。其次,无效链接有可能指向网站内的任何位置,因此,在定制网站的404错误页面时,对其中的链接应使用绝对路径而不是相对路径。这点相信很容易理解,考虑 一下“[url]/a/a.html[/url]”与“[url]http: ///a.html[/url]” 这样两个位于不同目录深度的无效链接,当404错误页中链接使用相对路径时便会彻底乱套。Apache下设置404错误页面为Apache Server设置 404错误页面的方法很简单,只需在.htaccess 文件中加入如下内容即可:? ???ErrorDocument 404 /notfound.php当然,把”/notfound.php” 改为自定义404错误页面的地址和名称。尤其需要注意的是,不要采取如下的方式:? ???ErrorDocument 404 [url]/notfound.php[/url]这样设置则是错误的:其将返回“200”状态码而不是“404”。另外,需要注意的是,如果您的.htaccess存在类似这样的内容:? ???ErrorDocument 404 /index.php切记要将其删除:这种将404错误转向到网站主页的作法存在极大的风险,严重时会导致主页在搜索引擎中消失。IIS/ASP.net下设置404错误页面IIS/ASP.net一直是404页面不能正确返回“404
文档评论(0)