自定义404错误页面

78 篇文章 0 订阅
17 篇文章 0 订阅

自定义404页面返回不当状态码如"200"等给网站最终SEO效果带来的不利影响,因此,确保自定义的404错误页面能够返回"404"状态码是极为重要的,也是网站优化与SEO的基本要求。

这一点如何保证呢?如何才能为网站设置能够正常工作的404错误页面?

定制404错误页面的基本原则

首先应明确的是404错误应工作在服务器级而不是网页级。对定制使用动态页面如PHP脚本类型的404页时,必须确保在PHP执行前服务器已经顺利地送出 "404"状态码,不然,一旦执行到了ISAPI级别,返回的状态码便只能是"200"或其他如"302"之类的重定向状态码了。

其次,无效链接有可能指向网站内的任何位置,因此,在定制网站的404错误页面时,对其中的链接应使用绝对路径而不是相对路径。这点相信很容易理解,考虑一下"http://www.youdomain.com/a/a.html"与"http://www.youdomain.com/a.html" 这样两个位于不同目录深度的无效链接,当404错误页中链接使用相对路径时便会彻底乱套。

1>Apache下设置404错误页面

为Apache Server设置 404错误页面的方法很简单,只需在.htaccess 文件中加入如下内容即可:

ErrorDocument 404 /notfound.php

当然,把"/notfound.php" 改为自定义404错误页面的地址和名称。

尤其需要注意的是,不要采取如下的方式:

ErrorDocument 404 http://www.youdomain.com/notfound.php

这样设置则是错误的:其将返回"200"状态码而不是"404"。

另外,需要注意的是,如果您的.htaccess存在类似这样的内容:

ErrorDocument 404 /index.php

切记要将其删除:这种将404错误转向到网站主页的作法存在极大的风险,严重时会导致主页在搜索引擎中消失。 IIS/ASP.net下设置404错误页面

IIS/ASP.net一直是404页面不能正确返回"404"状态码的重灾区,尤其对动态网页而言,很多网站在使用IIS管理器设置404自定义错误页面后发现其返回码却是"302" + "200"。

2>在IIS/ASP.net下设置404动态页面

首先,修改应用程序根目录的设置,打开 "web.config" 文件编辑,在其中加入如下内容:

<configuration> <system.web> <customErrors mode="On" defaultRedirect="error.asp"> <error statusCode="404″ redirect="notfound.asp" /> </customErrors> </system.web> </configuration>

注:上文例中"error.asp"为系统默认的404页面,"notfound.asp"为自定义的404页面,使用时请修改相应文件名。

然后,在自定义的404页面"notfound.asp"中加入:

<% Response.Status = "404 Not Found" %>

这样,便可以保证IIS能够正确地返回"404"状态码。

注:为显示方便,上文代码中使用的是全角的"<"与">",应用时应将其改为半角字符。

3>在IIS/ASP.net下设置404静态页面

设置静态404错误页面的方法则比较简单,在IIS管理器中右键单击要管理的网站,打开"属性"中的"自定义错误信息"页,为"404"设定相应的错误信 息页即可。不过,此处在"消息类型"中一定要选择"文件"或"默认值",而不要选择"URL",不然,将导致返回"200"状态码。

当然,在设置完成后,最好用Server Header检查工具检查一下设定是否正确。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值