分享
 
 
 

让你的错误提示更生动

王朝asp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有