apache之404错误页面自定义跳转说明

时间:2022-11-07 22:50:59

來源:www.php100.com

 

apache之404错误页面自定义跳转说明

2008-06-30 11:42
404错误其实就是我们经常见到的找不到文件的错误,但是那是默认的效果,很难看。

有时候我们需要的这样的功能:我们要记录下来404是的页面时哪些,更有些时候我需要判断404页面是不是本来系统应该生成的静态页面但是没有生成成功的,如果是,我们应该生成这个静态页面,然后把生成的静态页面返回给用户。

我要处理的逻辑就是:把404错误跳转到一个页面,我们取名叫:missing404.php

然后再这个页面中实现我们需要的功能。

首先定义跳转:在虚拟站点定义中使用如下语句即可。

ErrorDocument 404 http://www.blogguy.cn/missing404.php


定义完成后的虚拟站点如下

<VirtualHost *:80>

     ServerAdmin     wayswang@gmail.com

      DocumentRoot /usr/local/apache/htdocs/blogguy.cn

      ServerName www.blogguy.cn

      ServerAlias     blogguy.cn

      ErrorLog logs/blogguy.cn_err_log

      CustomLog logs/blogguy.cn-access_log2 common

      ErrorDocument 404 http://www.blogguy.cn/missing404.php

     <IfModule mod_limitipconn.c>

      <Location /upimg/soft>

         MaxConnPerIP 5

     </Location>

      </IfModule>

</VirtualHost>

在missing404.php中的处理将另外说明

这里再提供另外一种方法,但是不推荐,以为比较耗资源,使用 .htaccess 来重定向

在 .htaccess 中加入

ErrorDocument 404 /404.html

不要以为就此完了,你可能会发现404.html根本跳转不到他上面去,嘿嘿,原因是你的404.html文件太小了,IE认为找不到,又是404错误。如果404.html的小于512字节的话,那么IE会认为这个错误页面不够“友好”,会忽视掉的。