定制404错误页面,并发信给管理员的程序

如果您的用户找不到他要的页面,如何给他一个友好的答复,并且你也知道发生了这个错误呢,看看下面这段程序,是用来定制404错误页面和发通知给网管的好东西。---teaman翻译整理

<?php
# 设置 $domain 为你的域名 (注意没有www)
$domain = "oso.com.cn";
# 设置URL,注意没有后划线 /
$docroot = "http://www.oso.com.cn";
# 设置错误信息的字体
$fontface = "Verdana";
# 设置404页面的字体大小
$fontsize = "2";
# 设置404页面的背景颜色,缺省是白色
$bgcolor = "#ffffff";
# 设置文字颜色,缺省是黑色
$textcolor = "#000000";

# 使用 $reportlevel 变量来控制是否发信给网管
# 0 = 根本不用发信,嘿,teaman怎么会出错呢
# 1 = 只有在页面含有你的DOMAIN NAME时才发信
# 2 = 即使是与我连接出现的断连也发信,有可能是友情站点
$reportlevel = 2;  //这种最保险了

$emailaddress = "webmaster@oso.com.cn"; //设置收错误信息的邮箱

function print_details()
  {
   # Request access to the global variables we need
   global $fontface, $fontsize, $docroot, $REQUEST_URI, $reportlevel;
   global $bgcolor, $textcolor;

# Print the 404 error in web format
   echo "<html><head><title>404 没有找到页面</title></head>";
   echo "<body bgcolor="$bgcolor" text="$textcolor">";
   echo "<b><h1>404 对不起,我没有找到您要求的页面</h1></b>";
   echo "<p><font face="$fontface" size="$fontsize">";
   echo "奥索网管提醒您,您要求的页面 $docroot$REQUEST_URI, doesn't exist";
   echo " on this server.</font></p>";

if ($reportlevel != 0)
     {
      echo "<p><font face="$fontface" size="$fontsize">";
      echo "错误信息已经发送到奥索网管手中.";    
     }

return;
  }

# EMAIL处理函数

function send_email()
  {
   # Request access to the global variables we need
   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/$year at $hours:$minutes";

# Create the body of the email message
   $message .= "404 Error ReportnnA 404 error was encountered by $REMOTE_ADDR";
   $message .= " on $errortime.nn";
   $message .= "The URI which generated the error is: n$docroot$REQUEST_URInn";
   $message .= "The referring page was:n$HTTP_REFERERnn";

# Send the mail message. This assumes mail() will work on your system!
   mail("$emailaddress", "404 Error Report", $message, "From: $emailaddress");  //好,把信发出去

return;
  }

# 下面这些是根据变量$reportlevel的设置来发信与否。
print_details();

# See whether or not we should send an email report. If so, do it.
if ($reportlevel != 0)                   
  if ($reportlevel == 1) {               
    if (eregi($domain,$HTTP_REFERER))    
      send_email(); }
  else
     send_email();

# All done!
exit;

?>

(0)

相关推荐

  • flex 开发项目报错之404错误解决方案

    最近两天被HttpStates404这个错误折腾的够呛,在网上查了很多文章,基本上都是说的同样的问题 1URL不对--(但是自己确信应该是对的,因为在XP系统下运行正常,换到Win7下就不行) 2Web.xml配置不对--(自己对这里面的东西不是很了解,所以在网上查了一些资料,一知半解的跟着网上的步骤走,结果还是不行) 最后实在没办法,又回到1的思路上,因为归根结底是没找到该网页,这是自己又重新审视了一下Flex编译生成的文件.终于在这时豁然开朗 我之前Flex编译生成的时候是生成SWF文件和与

  • php 定义404页面的实现代码

    核心代码: 复制代码 代码如下: @header("http/1.1 404 not found"); @header("status: 404 not found"); echo 'echo 404'; exit(); 如果需要加载404页面可以如下代码,主要是注意文件路径 复制代码 代码如下: @header("http/1.1 404 not found"); @header("status: 404 not found"

  • 用php来改写404错误页让你的页面更友好

    404错误,很多人都知道,如果要访问的url不存在的时候就读取显示这个页面.以往在处理404方面我们通常的做法是要麽简单写几行字,而有心人士或许还会对其稍加美化,另外一少部份想投机取巧的傢伙甚至用meta标籤做延时转向,仅此而已,其实404还可以帮我们做很多事,这就是今天我们要讨论的重点了. 首先我来说明一下我的404究竟都能帮我做哪些事情: 1.他可以告诉我何时来自哪裡的用户要访问我哪个URL结果失败了. 2.他能告诉我对方为何要访问这个URL,并帮助我优化网站 3.他能告诉我对方的IP地址

  • asp.net 在global中拦截404错误的实现方法

    复制代码 代码如下: void Application_Error(object sender, EventArgs e) { if(Context != null) { HttpContext ctx = HttpContext.Current; Exception ex = ctx.Server.GetLastError(); HttpException ev = ex as HttpException; if(ev!= null) { if(ev.GetHttpCode() == 404)

  • 运行asp.net时出现 http错误404-文件或目录未找到

    问题原因: 我遇到的情况,装了.NET 2.0 + IIS 升级后就出现以上问题:不确定其他原因也会不会产生类似错误.(如果有,希望大家能贴出更多的原因,方便遇到同样错误的人找到问题的根源) 解决方法: 首先,要重新注册IIS :运行cmd 后 进入"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" 键入命令aspnet_regiis -i 其次,在: 计算机管理--Internet信息服务(IIS)管理器--Web服务扩展--ASP.NET

  • php 404错误页面实现代码

    复制代码 代码如下: <?php # 设置 $domain 为你的域名 (注意没有www) $domain = "jb51.net"; # 设置URL,注意没有后划线 / $docroot = "http://jb51.net"; # 设置错误信息的字体 $fontface = "Verdana"; # 设置404页面的字体大小 $fontsize = "2"; # 设置404页面的背景颜色,缺省是白色 $bgcolor

  • 定制 404 页面的一些心得

    看到一篇文章,它列出了很多对于定制 404 页面非常好的建议,下面我将其列出来:  Use appealing visual elements.   Provide alternatives for navigation.   Offer an overview of possibly related posts.   Communicate with your visitors.   Be sincere and cool.   Be user-friendly.   (Don't) prov

  • asp.net网站的404错误页面的正确设置方法第1/2页

    什么是404错误 HTTP 404 错误意味着链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,很难避免,比如说:网页URL生成规则改变.网页文件更名或移动位置.导入链接拼写错误等,导致原来的URL地址无法访问;当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在.但是,Web服务器默认的404错误页面,无论Apache还是IIS,均十分简陋.呆板且对用户不友好,无法给用户提供必要的信息以获取更多线索,无疑这会造成用户的流失. 404页面的作用

  • IIS设置404页面图文教程(选择URL还是文件 )

    下面侯庆龙说明放置404页代码一些方方面面,希望大家能用到网站建设当中: <META http-equiv=refresh content="3; url=http://www.iglee.net/">,把其中网址改成你的想要转接的网址.网页即可. 提供一种最实用而且最通用的代码,可以用于html,asp,php中,把这代码加到的与之间即可,代码如下 404页会不会被搜索引擎认为作弊 答案:否,当你网页有少部分消失采用404页跳转,搜索引擎是不会认为作弊的,因为这是符合正常

  • 定制404错误页面,并发信给管理员的程序

    如果您的用户找不到他要的页面,如何给他一个友好的答复,并且你也知道发生了这个错误呢,看看下面这段程序,是用来定制404错误页面和发通知给网管的好东西.---teaman翻译整理 <?php # 设置 $domain 为你的域名 (注意没有www) $domain = "oso.com.cn"; # 设置URL,注意没有后划线 / $docroot = "http://www.oso.com.cn"; # 设置错误信息的字体 $fontface = "

  • 利用404错误页面实现UrlRewrite的实现代码

    将下面代码保存到err404.html,然后设置404错误页面为err404.html页: 复制代码 代码如下: <script type="text/javascript" language="javascript"> var id=/(detial|show)\.asp\?id\=([0-9]+)/gi; var flag=/([a-z0-9_]+)\.asp\?flag\=xml/gi; var re_id=/(detial|show)\_([0-

  • win2008 r2中IIS7.5及以上设置404错误页面的正确方法

    1.进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站.进入windows 2008服务器,打开IIS Manager,点击需要设置404错误页面的网站. 2.在IIS右侧选择错误页这项,双击打开. 3.出现错误页设置页面,今天我们这边只说明一下404如何设置,诸如500.503等这里先不考虑.双击404错误页面那项,或选中404那项点击右侧的编辑按钮 4.出现404错误页面设置选项,笔者选择的是第一个方法,输入404静态页面文件的完整路径,点击下方

  • 使用shell脚本找出网站的空页面和404错误页面

    早之前记的一个笔记了,之前只是记录了两句代码,放出来的话也是一个低质量的页面,于是设置为了仅自己可见,今晚抽空补充一下. 记得当的情景应该是提交sitemap时百度老提示有错误的URL,导致sitemap不能正常被抓取,于是在想办法解决这个问题,所以才有下面这些笔记:用shell批量找出网站空页面和404错误页面. 废话不多说,直接上shell代码: 复制代码 代码如下: time cat sitemap.txt|while read line;do curl -l $line -m 5 --c

  • LNMP系列教程之 设置404错误页面

    在之前的文章中分享到"设置301重定向的方法"文章,提到301,那肯定也要说说404错误页面吧.因为我们默认安装了LNMP后404页面不会自动设置,也不会默认到程序的404错误页面,而需要我们手工设置.具体如何设置呢?我们一起往下看. 第一步,编辑 /usr/local/nginx/conf/nginx.conf 文件,在http区域添加下面的代码: 复制代码 代码如下: fastcgi_intercept_errors on; 第二步,编辑你需要添加404页面的网站的conf文件,对

  • NGINX下配置404错误页面的方法分享

    1. 创建自己的404.html页面 2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on; 3.更改nginx.conf(或单独网站配置文件,例如在nginx -> sites-enabled下的站点配置文件 ) 中在server 区域加入: error_page 404 = /404.html 或者 error_page 404 = http://www.xxx.com/404.html 4.更改后重启nginx,,测试nginx.co

  • ASP.NET Core应用错误处理之ExceptionHandlerMiddleware中间件呈现“定制化错误页面”

    前言 DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMiddleware中间件则是面向最终用户的,我们可以利用它来显示一个友好的定制化的错误页面.按照惯例,我们还是先来看看ExceptionHandlerMiddleware的类型定义. public class ExceptionHandlerMiddleware { public Excepti

  • NGINX服务器配置404错误页面转向的方法

    什么是404页面 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是NGINX服务器,那么404页面的内容则为:404 Not Found 为什么要自定义404页面 在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄悄的流失了.如果此时能有一个漂亮的页面能够引导用户去他想去的地方必然可以留住用户.因此,每一个网站都

  • python flask自定义404错误页面方式

    目录 python flask自定义404错误页面 这里有些地方需要注意下 Python Flask捕获异常,捕获404错误,errorhandler(),自定义异常处理函数 总结 python flask自定义404错误页面 在用浏览器访问url的时候,如果url不正确会报404错误,默认的404错误太枯燥了,这里我讲述一下如何将404错误页面修改为好看的404页面 1,首先,创建一个我们希望当出现404错误时展示的html页面,这里我随便写一个页面内容不多定义了,意思在这就行 <!DOCTY

随机推荐