[导读]当用户请求网站不存在的页面或者数据时候,需要给用户提供一个友好的错误提示页面,这就要求定制原来由Apache提供的默认404页面。 404错误主要会表现在以下两种情况:1、用户请求网站上不存在的页面,该错误的处理机...

当用户请求网站不存在的页面或者数据时候,需要给用户提供一个友好的错误提示页面,这就要求定制原来由Apache提供的默认404页面。

404错误主要会表现在以下两种情况:
1、用户请求网站上不存在的页面,该错误的处理机制由Apache提供;
2、用户请求网站存在的页面,但是说请求的信息内容不存在,该错误需要编程来输出404错误;

由上可知,我们需要做两方面的工作以便达到定制404错误页码的目的。

1、告诉Apache错误页面位置:
首先,我们需要Apache能够让我们自己定义该信息,则需要在http.conf配置文件中找到

<directory> Options FollowSymLinks AllowOverride None </directory>

将其中的“None”改为“All”。

我们在网站根目录下创建一个文件,命名为:“.htaccess”(注意前面的点号),内容为:

ErrorDocument 404 /error/404.php

由此,我们就告诉Apache,该网站的404错误页面为/error/404.php。

到目前位置,如果用户输入一个不存在的脚本地址,就可以输出404.php中的页面内容。

2、为数据库中不存在的内容提供404错误提示:
由此,我们可用使用这样的函数来进行错误页面的重定向:

/** * 输出404错误页面 * */ function call404page() { require_once('404.php'); @header('HTTP/1.1 404 Not Found'); @header('Status: 404 Not Found'); exit; }

当数据库查询发现没有数据的时候,则可以使用该函数进行错误页面输出。

原文:http://my.bymg.net/2007/02/06/custom_404_page/