让你的错误提示更生动

转载 2004年07月19日 17:48:00

默认的IIS 500-100.asp文件错误提示只报到行号,这对我们找错误还是很麻烦的

本文件是修改后的500-100.asp文件,直接显示出错行的文本,便于查找错误

<%@ language="VBScript" %>
<%
  Option Explicit

  Const lngMaxFormBytes = 200

  Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP
  Dim strMethod, lngPos, datNow, strQueryString, strURL

  If Response.Buffer Then
    Response.Clear
    Response.Status = "500 Internal Server Error"
    Response.ContentType = "text/html"
    Response.Expires = 0
  End If

  Set objASPError = Server.GetLastError
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<html dir=ltr>

<head>
<style>
a:link   {font:9pt 宋体; color:FF0000}
a:visited  {font:9pt 宋体; color:#4e4e4e}
</style>

<META NAME="ROBOTS" CONTENT="NOINDEX">

<title>本页无法显示</title>

<META HTTP-EQUIV="Content-Type" Content="text-html; charset=gb2312">
<META NAME="MS.LOCALE" CONTENT="ZH-CN">
</head>

<script>
function Homepage(){
<!--
// in real bits, urls get returned to our script like this:
// res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm

 //For testing use DocURL = "res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm"
 DocURL=document.URL;
 
 //this is where the http or https will be, as found by searching for :// but skipping the res://
 protocolIndex=DocURL.indexOf("://",4);
 
 //this finds the ending slash for the domain server
 serverIndex=DocURL.indexOf("/",protocolIndex + 3);

 //for the href, we need a valid URL to the domain. We search for the # symbol to find the begining
 //of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker.
 //urlresult=DocURL.substring(protocolIndex - 4,serverIndex);
 BeginURL=DocURL.indexOf("#",1) + 1;
 urlresult=DocURL.substring(BeginURL,serverIndex);
  
 //for display, we need to skip after http://, and go to the next slash
 displayresult=DocURL.substring(protocolIndex + 3 ,serverIndex);
 document.write( '<A HREF="' + escape(urlresult) + '">' + displayresult + "</a>");
}
//-->
</script>

<body bgcolor="FFFFFF">

<table width="100%" cellpadding="3" cellspacing="5">

  <tr>   
    <td align="left" valign="middle" width="360">
 <h1 style="COLOR:000000; FONT: 9pt 宋体"><!--Problem-->本页无法显示</h1>
    </td>
  </tr>
 
  <tr>
    <td width="100%" colspan="2">
 <font style="COLOR:000000; FONT: 9pt 宋体">试图访问的网页出现问题,无法显示。</font></td>
  </tr>
 
  <tr>
    <td width="100%" colspan="2">
 <font style="COLOR:000000; FONT: 9pt 宋体">

 <hr color="#C0C0C0" noshade>
 
    <p>请尝试以下方法:</p>

 <ul>
      <li id="instructionsText1">单击
      <a href="javascript:location.reload()">
      刷新</a>按钮或者梢候再试。<br>
      </li>
  
      <li>打开
  
   <script>
   <!--
   if (!((window.navigator.userAgent.indexOf("MSIE") > 0) && (window.navigator.appVersion.charAt(0) == "2")))
   {
     Homepage();
   }
   //-->
   </script>

   主页,然后查找与所需信息相关的链接。 </li>
    </ul>
 
    <h2 style="FONT: 9pt 宋体; color:000000">HTTP 500.100 - 内部服务器错误 - ASP 错误<br>
    Internet 信息服务</h2>

 <hr color="#C0C0C0" noshade>
 
 <p>技术信息(适用于支持人员)</p>

<ul>
<li>错误类型:<br>
<%
  Dim bakCodepage
  bakCodepage = Session.Codepage
  Session.Codepage = 936
  Response.Write Server.HTMLEncode(objASPError.Category)
  If objASPError.ASPCode > "" Then Response.Write Server.HTMLEncode(", " & objASPError.ASPCode)
  Response.Write Server.HTMLEncode(" (0x" & Hex(objASPError.Number) & ")" ) & "<br>"

  If objASPError.ASPDescription > "" Then Response.Write Server.HTMLEncode(objASPError.ASPDescription) & "<br>"

  blnErrorWritten = False

  ' Only show the Source if it is available and the request is from the same machine as IIS
  If objASPError.Source > "" Then
    strServername = LCase(Request.ServerVariables("SERVER_NAME"))
    strServerIP = Request.ServerVariables("LOCAL_ADDR")
    strRemoteIP =  Request.ServerVariables("REMOTE_ADDR")
    If (strServername = "localhost" Or strServerIP = strRemoteIP) And objASPError.File <> "?" Then
      Response.Write Server.HTMLEncode(objASPError.File)
      If objASPError.Line > 0 Then Response.Write ", 第 " & objASPError.Line & " 行"
      If objASPError.Column > 0 Then Response.Write ", 第 " & objASPError.Column & " 列"
      Response.Write "<br>"
      Response.Write "<font COLOR:000000; FONT: 9pt 宋体""><b>"
      Response.Write Server.HTMLEncode(objASPError.Source) & "<br>"
      If objASPError.Column > 0 Then Response.Write String((objASPError.Column - 1), "-") & "^<br>"
      Response.Write "</b></font>"
      blnErrorWritten = True
    End If
  End If

  If Not blnErrorWritten And objASPError.File <> "?" Then
    Response.Write "<b>"
    Response.Write Server.HTMLEncode(objASPError.File)
    If objASPError.Line > 0 Then
 Response.Write Server.HTMLEncode(", 第 " & objASPError.Line & " 行") & "<br>"
   '读去错误行文本
   Dim AppPath,FileName,ErrLine,ErrCode,fs,f,i
   AppPath=Request.ServerVariables("APPL_PHYSICAL_PATH")
   FileName=Request.ServerVariables("SCRIPT_NAME")
   FileName=Replace(FileName,"/","")
   FileName=Mid(FileName,2,Len(FileName)-1)
   'Response.Write AppPath & FileName & "<br>"
   '常量定义
   Const ForReading = 1,TristateFalse = 0
   Set fs=Server.CreateObject("Scripting.FileSystemObject")
   Set f = fs.OpenTextFile(AppPath & FileName,ForReading,TristateFalse)
   ErrLine=objASPError.Line
   For i = 1 to ErrLine-1
  f.SkipLine
   Next
   ErrCode=f.ReadLine
   f.close
   Response.Write "<b>该代码出现错误,请检查→</b><font color='#FF0000'>" & ErrCode & "</font><br>"
   set fs=nothing
    End if
    If objASPError.Column > 0 Then Response.Write ", 第 " & objASPError.Column & " 列"
    Response.Write "</b><br>"
  End If
%>
</li>
<p>
<li>浏览器类型:<br>
<%= Request.ServerVariables("HTTP_USER_AGENT") %>
</li>
<p>
<li>页:<br>
<%
  strMethod = Request.ServerVariables("REQUEST_METHOD")

  Response.Write strMethod & " "

  If strMethod = "POST" Then
    Response.Write Request.TotalBytes & " bytes to "
  End If
  Response.Write Request.ServerVariables("SCRIPT_NAME") & "<br>"

  lngPos = InStr(Request.QueryString, "|")

  If lngPos > 1 Then
    Response.Write "?" & Left(Request.QueryString, (lngPos - 1))
  End If

  Response.Write "</li>"

  If strMethod = "POST" Then
    Response.Write "<p><li>POST 数据:<br>"
    If Request.TotalBytes > lngMaxFormBytes Then
       Response.Write Server.HTMLEncode(Left(Request.Form, lngMaxFormBytes)) & " . . ."
    Else
      Response.Write Server.HTMLEncode(Request.Form)
    End If
    Response.Write "</li>"
  End If

%>
<p>
<li>时间:<br>
<%
  datNow = Now()

  Response.Write Server.HTMLEncode(FormatDateTime(datNow, 1) & ", " & FormatDateTime(datNow, 3))
  Session.Codepage = bakCodepage
%>
</li>
</p>
<p>
<li>详细信息:<br>
 <%  strQueryString = "prd=iis&sbp=&pver=5.0&ID=500;100&cat=" & Server.URLEncode(objASPError.Category) & _
    "&os=&over=&hrd=&Opt1=" & Server.URLEncode(objASPError.ASPCode)  & "&Opt2=" & Server.URLEncode(objASPError.Number) & _
    "&Opt3=" & Server.URLEncode(objASPError.Description)
       strURL = "http://www.microsoft.com/ContentRedirect.asp?" & _
    strQueryString
%>
<a href="<%= strURL %>">Microsoft 支持</a>
</li>
</p>

    </font></td>
  </tr>
 
</table>
</body>
</html>

请保存成500-100.asp文件,并放置到winnt/iishelp/help/common目录下

Win2000 Server IIS5.0调试通过

让Spinner更生动

让Spinner更生动——*自定义子项颜色等 Spinner的下拉方式和菜单子项都有很多种默认样式可供选择,然而我在写一个Spinner时却遇到了这个问题:如何让子项具有不同的颜色?比如在一个选...
  • haibaramo
  • haibaramo
  • 2016年01月20日 11:35
  • 113

制作更生动的演示文档

转载者:白鹅ppt课件              来源:www.2ppt.cn 在做PowerPoint演讲稿时,为了更加生动你是否有想过加入一些视频?如今网络上四处可见Flv格式的流媒体在线视频,...
  • seuvjhqc
  • seuvjhqc
  • 2016年05月20日 17:13
  • 168

项目实战--svn讲解

首先在服务器上分为三个文件夹,分别命名为 tags(里程碑用来记录工作节点的备份) trunk(主干,开发并测试后集成的) branches(分支,每个组员用来开发的,最活跃的) 角色,根据角...
  • u010892841
  • u010892841
  • 2016年07月21日 16:44
  • 284

分享让游戏设计更生动的润色技巧

作者:Nathan Lovato 你制作了一款很棒的游戏。其机制无懈可击,首个用户流程也很出色,人们马上就知道怎么玩游戏,但不知何故你的游戏还是有点不对劲。因为玩家首先接触到的是游戏的控制器,设...
  • c252270036
  • c252270036
  • 2015年04月27日 19:18
  • 315

REST 架构该怎么生动地理解?

REST 架构该怎么生动地理解? @Ivony 老师的一句话概括很精辟: URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。RESTFUL是一种设计风格 ...
  • zhoujiyu123
  • zhoujiyu123
  • 2016年12月05日 09:52
  • 312

计算机组成原理生动概括

CPU的原始工作模式 在了解CPU工作原理之前,我们先简单谈谈CPU是如何生产出来的。CPU是在特别纯净的硅材料上制造的。一个CPU芯片包含上百万个精巧的晶体管。人们在一块指甲盖大小的硅片上,用化学的...
  • CDSNQG
  • CDSNQG
  • 2016年01月03日 00:04
  • 649

android动效开篇

在现在的Android App开发中,动效越来越受到产品和设计师同学的重视,如此一来,也就增大了对开发同学的考验,虽说简单的动效:如移动,旋转,缩放,渐变或普通的界面跳转相对简单,但在目前日益激烈的竞...
  • tianjian4592
  • tianjian4592
  • 2015年03月09日 15:48
  • 13128

CNN卷积神经网络全面生动解读-深度学习笔记

卷积神经网络就是由卷积层、池化层、全连接层构成的具有局部感知和权值共享能力的深层神经网络...
  • qq_31456593
  • qq_31456593
  • 2017年07月25日 16:28
  • 406

生动形象的Eclipse快捷键整理,来源tank真的很棒!

Eclipse 常用快捷键 (动画讲解) Eclipse有强大的编辑功能, 工欲善其事,必先利其器, 掌握Eclipse快捷键,可以大大提高工作效率。  小坦克我花了一整天时间, 精选...
  • dchchenghao
  • dchchenghao
  • 2015年04月27日 13:50
  • 298

SVM算法的生动讲解

版权声明:     本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系whe...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年05月22日 17:43
  • 5930
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:让你的错误提示更生动
举报原因:
原因补充:

(最多只允许输入30个字)