來源: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会认为这个错误页面不够“友好”,会忽视掉的。