如果访问您站点的用户由于各种原因暂时出现无法访问页面的错误
,如何给他一个友好的答复
,并且你也知道发生了这个错误,看看下面这段程序,是用来定制404错误页面和发通知给网管
。 以下为引用的内容:
<?php
#设置$domain为你的域名(注意没有www)
$domain="oncoding.net";
#设置URL,注意没有后划线/
$docroot="
http://oncoding.net";
#设置错误信息的字体
$fontface="Verdana";
#设置404页面的字体大小
$fontsize="2";
#设置404页面的背景颜色,缺省是白色
$bgcolor="#ffffff";
#设置文字颜色,缺省是黑色
$textcolor="#000000";
#使用$reportlevel变量来控制是否发信给网管
#0=根本不用发信,嘿,NB的我们怎么会出错呢
#1=只有在页面含有你的DOMAINNAME时才发信
#2=即使是与我连接出现的断连也发信,有可能是友情站点
$reportlevel=2;//这种最保险了
$emailaddress="
webmaster@oncoding.net";//设置收错误信息的邮箱
functionprint_details()
{
#Requestaccesstotheglobalvariablesweneed
global$fontface,$fontsize,$docroot,$REQUEST_URI,$reportlevel;
global$bgcolor,$textcolor;
#Printthe404errorinwebformat
echo"<html><head><title>404没有找到页面</title></head>";
echo"<bodybgcolor="$bgcolor"text="$textcolor">";
echo"<b><h1>404对不起,我没有找到您要求的页面</h1></b>";
echo"<p><fontface="$fontface"size="$fontsize">";
echo"oncoding编码营提醒您,您要求的页面$docroot$REQUEST_URI,doesn'texist";
echo"onthisserver.</font></p>";
if($reportlevel!=0)
{
echo"<p><fontface="$fontface"size="$fontsize">";
echo"错误信息已经发送到oncoding编码营管理员信箱.";
}
return;
}
#EMAIL处理函数
functionsend_email()
{
#Requestaccesstotheglobalvariablesweneed
global$REQUEST_URI,$HTTP_REFERER,$emailaddress,$REMOTE_ADDR,$docroot;
#定制发送的消息,如时间地点等.
$today=getdate();
$month=$today[mon];
$mday=$today[mday];
$year=$today[year];
$hours=$today[hours];
$minutes=$today[minutes];
$errortime="$month/$mday/$yearat$hours:$minutes";
#Createthebodyoftheemailmessage
$message.="404ErrorReportnnA404errorwasencounteredby$REMOTE_ADDR";
$message.="on$errortime.nn";
$message.="TheURIwhichgeneratedtheerroris:n$docroot$REQUEST_URInn";
$message.="Thereferringpagewas:n$HTTP_REFERERnn";
#Sendthemailmessage.Thisassumesmail()willworkonyoursystem!
mail("$emailaddress","404ErrorReport",$message,"From:$emailaddress");//发送信息
return;
}
#下面这些是根据变量$reportlevel的设置来发信与否
。 print_details();
#Seewhetherornotweshouldsendanemailreport.Ifso,doit.
if($reportlevel!=0)
if($reportlevel==1){
if(eregi($domain,$HTTP_REFERER))
send_email();}
else
send_email();
#Alldone!
exit;
?>