`
happmaoo
  • 浏览: 4546872 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

让你的错误提示更生动

阅读更多

默认的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调试通过

分享到:
评论

相关推荐

    纯CSS错误提示的图标动画效果

    为了使动画效果更生动,可以添加一些过渡效果。例如,当鼠标悬停在图标上时,改变颜色或大小: ```css .error-icon:hover { color: darkred; transform: scale(1.2); transition: color 0.3s ease, transform ...

    CSS3实现仿360错误提示页面代码.zip

    4. **边框与背景**:CSS3引入了圆角边框(`border-radius`)、阴影效果(`box-shadow`)和渐变背景(`linear-gradient`和`radial-gradient`),这些都可以用来提升错误提示页面的外观,使其看起来更专业且具有深度感。...

    C语言教案及编译错误说明

    这些错误通常在编译阶段就能被检测出来,教材会教导如何通过错误提示定位问题并进行修正。 2. 逻辑错误:这是更难发现的错误,因为它们不会在编译时显示,而是在程序运行时出现问题。例如,数组越界、空指针引用、...

    用户体验不错的信息提示

    4. 避免过度提示:过多的提示会让人感到厌烦,应当谨慎使用,只在必要时出现。 5. 用户控制:用户应有权选择关闭或调整提示,以满足个人喜好。 总的来说,"用户体验不错的信息提示"这一主题涵盖了利用JavaScript...

    百度404错误页面模板.zip

    1. 动画效果:动态的错误提示信息,如“啊哦,你所访问的页面不存在了,可能是炸了”,可以通过CSS3动画或JavaScript实现,使页面更加生动。 2. 自定义导航:JS可以添加自定义的导航元素,比如搜索框、站点地图或...

    Scratch少儿编程项目音效音乐素材-【游戏】音效-冰封王座-错误提示(英文).zip

    错误提示音效在编程中有着特殊的意义,当程序运行出错时,这样的声音可以提供一种反馈,让孩子们意识到他们需要检查并修正代码。 首先,关于少儿编程,Scratch作为启蒙工具,它的目标是教育孩子们理解基本的编程...

    C#标注式提示框,气泡提示框,即时消息框

    首先,让我们来理解"标注式提示框"。在传统的Windows应用程序中,Tooltip是一个常见的元素,它会在鼠标悬停在某个控件上时显示简短的说明性文本。而"标注式提示框"是对Tooltip的一种扩展,它允许开发者不仅显示文本...

    ChatGPT的提示艺术-制作清晰有效提示的指南中文版

    5. **错误排查**:如果遇到不准确或不相关的信息,尝试更具体或重新组织你的提示,以获取更精确的答复。 通过掌握这些技巧,无论是新手还是经验丰富的用户,都能提升与ChatGPT的交互质量,实现更加生动、丰富和有...

    ChatGPT写作论文式回答常用类提示词指令库(中英文).docx

    比如,将“你的提示词”改为更具针对性的表述,如“请用更生动的方式描述这个场景”。这有助于激发ChatGPT生成更加丰富和精确的回答。 3. **提示词生成** 创建自定义提示词以匹配特定任务。例如,针对“提示词功能...

    jquery表单input输入框动画提示效果代码

    通过解压并查看这些文件,你可以更深入地理解如何运用jQuery和CSS实现这种输入框动画提示效果。同时,也可以学习到如何将这些代码应用到实际项目中,提高网页的交互性和用户体验。 总的来说,jQuery提供了一种灵活...

    404错误页面漂亮模板下载(内有13套

    本资源提供了13套不同风格的404错误页面模板,帮助网站管理员或设计师快速创建出吸引人的错误提示页面。 首先,我们要理解404错误页面的基本作用。当用户点击了无效链接或者输入了错误的URL时,服务器会返回404状态...

    错误页面特效.zip

    这样的设计使得原本单调的错误提示变得生动有趣。 接下来,我们来谈谈实现这些特效的代码技术。通常,这些动画效果会结合HTML、CSS和JavaScript来完成。HTML用于构建页面结构,CSS负责样式设计,包括动画效果的定义...

    js提示框美化

    5. **多类型提示**:除了基础的警告提示,还可以提供信息提示、成功提示、错误提示等多种类型。 6. **易用性**:提供简洁的API接口,方便在JavaScript代码中调用。 例如,你可以通过如下方式在你的代码中调用一个...

    万能jquery提示框

    此外,还可以通过JavaScript或CSS来控制提示框的出现、消失动画,使得提示信息的展示更加生动和吸引用户注意力。 其次,"无图片带各种demo"表明这个插件可能并不依赖于图片资源来实现各种效果,而是通过纯CSS样式和...

    msn消息提示音

    7. 多样化:除了默认的MSN消息提示音,用户还可以寻找其他的音频文件,创建个性化的通知声音,让在线交流更加生动有趣。 通过这些知识点,用户不仅可以了解到MSN消息提示音的历史和意义,还能学习如何在现代通讯...

    vc++类似QQ的信息提示

    实现这一效果可能涉及到GDI+(Graphics Device Interface Plus)库,它是Windows图形绘制的扩展,提供了更高级的绘图功能,如贝塞尔曲线、渐变填充等,用于创建更生动的图形界面。 "类似MSN的信息提示"则表明该示例...

    可爱大象404错误页面html模板-可爱 大象 错误 404页面.rar

    首先,让我们了解404错误页面的基本概念。404错误,也称为“Not Found”错误,是HTTP状态代码之一,表示服务器找到了请求的URL,但该URL对应的内容不存在。这种错误通常发生在页面已被删除或URL输入错误的情况下。...

    js占领月球404错误页面代码,幽默诙谐的图片让你在看到404页面时也会开心一笑,可自适应不同分辨率全屏显示

    这使得404页面不仅是一个静态的信息提示,更是一种互动体验。开发者可能还运用了CSS3动画和JavaScript库(如jQuery)来增强视觉效果,使得图片的展示更加生动有趣。 压缩包内的"readme.md"文件通常包含了项目的说明...

    h5气泡提示框.zip

    在实际应用中,这样的气泡提示框可以用于多种场景,如提示用户完成某个操作、显示帮助信息、展示错误或成功消息等。开发者可以通过自定义样式和动画参数来适应不同的设计风格,使其更符合网站或应用的整体视觉体验。...

    jQuery轻量级提示框弹出层.zip

    比如,在表单验证时,当用户输入不符合规则时,可以即时显示错误提示;在加载数据或执行异步操作时,显示加载提示以告知用户当前状态;在用户触发特定事件(如点击按钮)时,弹出确认框以获取用户的明确确认。 总之...

Global site tag (gtag.js) - Google Analytics