主页 > 知识库 > 服务器 > Apache/IIS >

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

来源: 作者: 发表于:2012-08-18 13:36  点击:
404错误其实就是我们经常见到的找不到文件的错误,但是那是默认的效果,很难看。 有时候我们需要的这样的功能:我们要记录下来404是的页面时哪些,更有些时候我需要判断404页面是不是本来系统应该生成的静态页面但是没有生成成功的,如果是,我们应该生成这

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

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

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

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

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

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

 

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

<VirtualHost *:80>

     
ServerAdmin     master

      DocumentRoot
@cit.
com/usr/local/apache/htdocs/www.cit.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.cit.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会认为这个错误页面不够“友好”,会忽视掉的。

    有帮助
    (1)
    100%
    没帮助
    (0)
    0%