最新公告
  • 欢迎您光临站盟网(原知事网),一个优质的网站源码基地、精品网站模板和插件。欢迎加入永久SVIP
  • IIS正确设置404页面和返回200状态码解决方法

    正文概述 知事网   2015-09-02 10:09   1320
    给网站设置404页面,本是一个很简单而又平常的操作,能增强网站用户体验和满足SEO要求。看似很简单的操作如果不细心检查,往往就容易犯错误。

    一句话概括就是:你以为她对你爱得忠诚,其实已经出轨。

    设置了404页面但返回200状态码:

    网站已经设置了404模板页面,但是返回的HTTP状态码却是200,为什么会这样???

    可能你看到这里会觉得很奇怪,“设置了404页面应该返回的HTTP状态码是404才对啊!”是起初我也这么认为,但是不全对。

    对网站的危害:

    尽管对用户返回了404页面,但是对于搜索引擎而言却是一个正常的页面,这往往是由于错误的服务器端配置而导致返回200状态码,虽然对访问的用户而言,HTTP状态码是“404”还是“200”并没有什么区别,一样是提高了用户体验,但对搜索引擎而言,这则是相当重要的,甚至是致命的。

    当搜索引擎蜘蛛在请求某个错误URL地址得到“404”状态回应时,即知道该URL地址已经失效,便不再索引该网页,并向数据中心反馈将该URL地址表示的网页从索引数据库中删除,而当搜索引擎对于这个404页面得到的是“200”状态回应时,则会认为该url地址是有效的,便会去索引,并会将其收录到索引数据库,这样你的所有错误页面对于搜索引擎来说都是不同url地址内容相同的页面,这会导致出现大量重复页面,会大大降低网站质量的评分,甚至直接降权。

    所以正确设置的自定义404错误页面,不仅应当能够正确地显示,同时,应该返回“404”错误代码,而不是200或其他的。不仅要告诉用户该页面不存在,也要正确的让搜索引擎知道这是404错误页面而不是一个正常的页面。

    原因:

    因为在IIS6/7里面有个错误页面设置,其中404设置选项有两个响应操作分别为:文件和URL。这两个操作有什么区别呢?不同的设置会有什么不同效果?

    设置404页面
    设置404页面

    解答

    1、当选择响应操作为:在此网站执行URL时。会造成设置了404页面模板,表面看是对的,但实际上是错误的;因为访问不存在的页面返回的HTTP状态码仍然是200。

    原因:因为操作执行的是一个URL,IIS服务器只是读取了另外一个存在的URL而已,因为这个URL存在,所以返回的状态码是200。

    如果网站刚好出现了很多404页面,但是这时候状态码不对,会给网站造成很大危害。

    设置了404页面
    设置了404页面
    但是HTTP状态码是200
    但是HTTP状态码是200
    而访问该不存在的URL返回404页面(但状态码是200)
    而访问该不存在的URL返回404页面(但状态码是200)
    2、当选择响应操作为:文件路径(绝对路径)。虽然HTTP状态码是404,但是会造成IIS服务器读取404页面模板失败,也就是说读取不到预设好的404模板页面。

    设置404页面
    设置404页面
    读取404模板失败
    读取404模板失败
    HTTP状态码是404
    HTTP状态码是404

    3、正确的设置方法是

    设置404页面模板使用相对路径
    设置404页面模板使用相对路径
    页面返回的状态码是404
    页面返回的状态码是404
    返回的页面模板也是404模板
    返回的页面模板也是404模板
     PS:个人在操作服务器和网站时发现了此问题,并记录分享出来,不对之处,希望指正。


    站盟网 » IIS正确设置404页面和返回200状态码解决方法

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者
    请选择支付方式
    ×
    支付宝支付
    微信支付
    余额支付
    ×
    微信扫码支付 0 元