宇扬信息科技工作室

关于网站出错页面和HTTP状态码

发布: 2012-11-10 14:39:06 | 作者: huanglongcn | 来源: 宇扬网 | 查看: 743

关于自定义网站错误页面返回HTTP状态码的设置

确保自定义网站错误页面能够返回相应的HTTP状态码

在自定义网站错误页面设置完毕后,一定要检查一下其是不是能够正确地返回HTTP状态码。可以使用Server Header检查工具,输入一个不存在网页的url,查看一下HTTP Header的返回情况,确信其返回的是相应的状态码。

页面错误的处理方式
(一)定制页错误页面的基本原则

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

其次,在自定义网站的错误页面时,对设置的错误页面URL链接应使用相对路径而不是绝对路径,而且自定义错误页面应该放在网站根目录下。尽管无效链接可能是多种形式的URL,但当发生访问错误时,WEB服务器会自动将其转到自定义的错误页中,这跟URL的形似没有关系。
404页面


(二)Apache下设置404错误页面

为Apache Server设置 自定义错误页面的方法很简单,只需在.htaccess 文件中加入如下内容即可:
ErrorDocument 状态码 /自定义出错页面。
 
如下为404的错误的例子。
ErrorDocument 404 /notfound.php

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

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

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

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

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

    ErrorDocument 404 /index.php

注意:
1.切记不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失
2.切记不要使用绝对URL(例如:http://www.bloghuman.com/nofound.php形式),如果使用绝对URL返回的状态码是“302”+“200”(已测试)



(三)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”状态码
 
(四)IIS/PHP下设置404错误页面

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

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



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

然后,在自定义的404页面“notfound.php”中加入:


<? header("HTTP/1.0 404 Not Found"); ?>



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

(五)在IIS/ASP.net下设置404静态页面

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

评论 0 次    最新评论(评论内容只代表网友观点,与本站立场无关!)
发表评论
点击更换验证码  

·本站大部分文章和内容来自互联网,如果您觉得我们侵犯了您的权益,请告诉我们!

·您在本站发表的作品,本站有权在网站内转载或引用!

·本站所提供的设计,摄影及其它作品,如需使用,请与原作者联系,版权归原作者所有。

About 宇扬联系我们付款方式友情链接网站地图版权声明投稿须知帮助