首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

Apache 404错误如何显示自己个性化的提示页面

作者:  时间: 2010-09-28

      我们在浏览某些网站时,往往浏览器显示给我的是无法找到我们要访问的页面的错误信息。这是因为我们在浏览器中输入了错误的url或者网站的管理者将之前的页面移到了其他目录。此时web服务器就会给浏览器返回一个404的错误信息。浏览器在收到web服务器返回的404错误信息时,就会显示相应的错误页面。很多网站都有自己个性化的404错误页面,在这个页面上我们可以看到很多很友好的提示信息,但是也有部分网站的404错误信息显示的页面就是浏览器自己默认的页面,从浏览器的默认404错误页面上我们得不到关于网站的任何信息,这样势必会导致网站用户的流失。那么我如何在Apache下配置404错误页面呢。下面我们就一起来看看如何设置Apache,使其能够显示携带更多信息的404错误页面。

 为服务器默认文件夹设置404错误页面

1.打开Apache的安装目录,在该目录下的conf目录 中找到httpd.conf文件,在该文件中找到 “ErrorDocument 404” 字符串,一般情况下显示如下:

 # Some examples:
#ErrorDocument 500 "The server made a boo boo."
ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.kechuangl.com/subscription_info.html

     首先将前面的#去掉,missing.html是出现404错误时Apache要返回给浏览器的页面。我们可以在missing.html页面中添加自己个性的网页信息。当然页面的名字我们是可以随便取的。 missing.html默认应该放在网站的根目录下,但是我们可以根据自己的设置来将其放在其他目录。如/error/missing.html,那配置文件就应该作如下修改:ErrorDocument 404 /error/missing.html。

在完成上述配置之后,重启Apache,测试一下,就可以看到我们想要的效果。

但是IE下面往往事与愿违,在做了上述配置之后,IE有时还会返回自带的404错误默认页面。这是为什么呢,因为IE在检测到Apache返回的错误页面小于512 个字节时,就会显示自带的404错误页面。那么如何解决呢,下面提供三中解决方法:

1.更改IE浏览器的设置,打开IE浏览器,工具-> Internet(选项)->高级 将滚动框中"显示友好 http 错误信息"选择框取消掉;

2.让我们服务器404错误页面内容大与512字节 ;

3.配置文件中404错误所指向的url地址改成绝对地址 ,如:

 ErrorDocument 404 http://localhost/error/missing.html

     我们在来看看上面三种解决方案的利弊,方案1,是最不理想的,因为我们无法去操作用户机器上面浏览器的设置。 方案2也有它的弊端,这种方式会限制我们404错误页面的大小,方案三我认为是目前最好的一种解决方案。

     上面都在windows下的Apache2.2.16测试通过,但是linux下面的配置是相同的。