作者:[转载]  文章来源:http://www.alixixi.com/  更新时间:2005-12-13

最近经常有人问在win2000和iis5中不显示asp错误的详细信息,而只显示错误号,如"错误id800xxxxx",这使得程序调试很不方便,有些人采取在iis中设置500-100错误指向默认,这样做也不会出现详细的错误信息。实际上这可能是微软出于安全考虑而在500-100.asp中没有显示详细出错信息。其实,你只要把500-100.asp稍加修改就可以了。下面是我修改的这个文件的内容。你只要把他copy下来存为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="' + urlresult + '">' + displayresult + "</a>");
}
//-->
</script>

<body bgcolor="ffffff">

<table width="410" 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="400" colspan="2">
<font style="color:000000; font: 9pt 宋体">试图访问的网页出现问题,无法显示。</font></td>
</tr>

<tr>
<td width="400" 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 & " 行")
if objasperror.column > 0 then response.write ", 第 " & objasperror.column & " 列"
'-------------------------------------------------------------------
' added by bigeagle
' date: 2000/5/10

dim l_straspdescription
l_straspdescription = "错误原因:" + objasperror.description()
if l_straspdescription <> "" then
response.write("<p>" + l_straspdescription+ "</p>")
end if

l_straspdescription = "详细描述:" + objasperror.aspdescription()
if l_straspdescription <> "" then
response.write("<p>" + l_straspdescription+ "</p>")
end if

'-------------------------------------------------------------------
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")

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>
<
网友评论
相关搜索
阿里西西Baidu.com搜索