当前位置:首 页>> 百 宝 箱

Apache 自定义错误页面配置 微信扫一扫
分享给朋友

  当用户访问网站出现错误时,会返回HTTP 404,403等错误信息给浏览器,为了提高用户体验,我们需要自定义404、403等错误页面,提示用户下一步操作或自动跳转至合适的访问页面。当然不自动以的话,浏览器显示的错误信息是自带的相关提示内容。
  自定义错误页面的方法,主要通过Apache主配置文件或者.htaccess进行配置,.htaccess配置错误页面的方法适合虚拟主机用户。当然,在Apache主配置文件里,虚拟主机相关设置的地方,也可以进行错误页面自定义的设置,或者单独的虚拟主机配置文件(Apache主配置文件里调用)里设置也可以。Apache主配置文件和.htaccess设置错误页面的方法基本一样,如过使用.htaccess进行配置,注意开启.htaccess配置功能,就是需要在Apache住配置文件里对应目录设置里把AllowOverride None改成AllowOverride All,否则.htaccess的配置无法起作用。
  代码很简单,[ErrorDocument 错误页面代码 自定义页面地址],注意使用时没有方括号,我是为了阅读方便,具体使用时就是这样:
ErrorDocument 404 /error/404.htm
其中自定义页面地址也可以是http开头的地址,可以跳转到其他网站,类似这样:
ErrorDocument 404 http://www.abc.com/error/404.htm

  如果你的WEB服务只有一个网站,代码内容加到httpd.conf文件里即可,位置任意,不过最好是添加到你定义网站根目录的地方,比如<Directory "D:/wwwroot/mysite">这一行的下面。如果你不止一个网站,虚拟主机有不少站点,可以加到虚拟主机配置的地方,比如<VirtualHost *:80>这一行的下面。另外虚拟主机的也可以配置.htaccess来定义错误文件,看你自己需要吧。
  还有个小插曲说一下,俺配置好了之后,错误页面配置无效,IE浏览器里死活见不到我定义的错误页面,一直显示IE默认自己的错误页面,放Google搜索才晓得IE浏览器还真是变态,你定义的错误页面大小如果小于512字节,那就把你自定义的错误页面忽略,只显示浏览器默认,真够狠的,害我折腾好一阵百思不得其解。FireFox倒是没这个问题,Chrome、Opera、Safari没有测试是否也有这个问题。

人到穷途应一笑,几凡失意仍能傲。成败何须问江湖,我心依旧任逍遥。
这一生只想好好做个平凡的人,有个家有个梦,陪我迎接每一个早晨。
这一生只想好好做个平凡的人,何必争何必问,只有快乐开心才是真。