解决与HTTP500–内部服务器错误信息有关的问题
解决与HTTP 500 – 内部服务器错误错误信息有关的问题
HOW TO:解决与“HTTP 500 - Internal Server Error”(HTTP 500 – 内部服务器错误)错误信息有关的问题
原文:asp>http://support.microsoft.com/default.aspx?scid=kb;zh-cn;311766
尝试加载 Localstart.asp 文件时
浏览 ASP 页面时
IIS 5.0 返回 Server.GetLastError 错误信息时
给 Alpha 或 UNIX 上的文件分配类别时
将 500-100.asp 文件用于非默认 Web 站点上的错误处理时
在索引服务器中执行查询时
从 ASP 页面中访问提供程序时
在 IIS 5.0 上设置 COM 应用程序标识时
在 IIS 4.0 上设置 MTS 应用程序标识时
IIS 4.0 在自己的内存空间中运行时
参考
概要
本文说明如何解决与“HTTP 500 - Internal server error”错误有关的问题。这些错误产生的原因很多,并且可影响许多不同的系统配置。解决过程按问题出现的情况分类。Administrators 组的成员必须执行本文中介绍的所有步骤。
返回页首
尝试加载 Localstart.asp 文件时
当 Web 站点的一个默认文档 Iisstart.asp 尝试加载 Localstart.asp 文件时,假如尝试访问此页面的用户不具有运行 Localstart.asp 文件中包含的脚本的正确权限,您会收到 HTTP 500 错误信息。假如清除显示友好 HTTP 错误信息复选框,将看到与下面的 HTTP 500 错误信息类似的信息:
Error Type:
Microsoft VBScript runtime (0x800A0046)
Permission denied:'GetObject'
/localstart.asp, line 19
出现此问题的原因是,Localstart.asp 文件中包含了使用 IIS Admin 对象访问元数据库的 Active Directory 服务接口 (ADSI) 和 Visual Basic Scripting Edition (VBScript) 代码。出于安全考虑,只有本地 Administrators 组的成员才能访问元数据库。这种现象是设计所导致的。
要解决此问题,请按照以下步骤操作:
单击开始,指向程序,指向治理工具,然后单击 Internet 信息服务。
在控制台树中,单击默认 Web 站点。在显示窗格中,右键单击 Localstart.asp,然后单击属性。
在文件安全选项卡的匿名访问和身份验证控制中,单击编辑。
在身份验证方法属性页中,单击以清除匿名访问。
返回页首
浏览 ASP 页面时
当您浏览 Active Server Pages (ASP) Web 页面时,会收到“HTTP 500.100 - Internal Server Error - ASP error”错误信息。假如清除显示友好 HTTP 错误信息复选框,将在“技术信息(用于支持人员)”部分看到类似下面这样的信息:
Error Type:
Microsoft VBScript runtime (0x800A01F4)
Variable is undefined:'x'
/OptionExplicitError.asp, line 9
Page:
GET /OptionExplicitError.asp
要解决此问题,请删除 Option Explicit 语句,或者使用 DIM 要害字声明变量。
要重现此问题,请在答应执行脚本的虚拟目录中运行包含以下代码的 ASP 文件: <% Option Explicit %>
<HTML>
<HEAD>
<TITLE>500-100 Undeclared Variable</TITLE>
</HEAD>
<BODY>
<P>About to use an undeclared variable</P>
<%
x = 5
%>
</B></P>
</BODY>
</HTML>
要修改此示例,请使用 DIM 语句声明 X 变量,如下所示: <% Option Explicit %>
<HTML>
<HEAD>
<TITLE>500-100 Undeclared Variable</TITLE>
</HEAD>
<BODY>
<P>About to use an undeclared variable</P>
<%
DIM x
x = 5
%>
</B></P>
</BODY>
</HTML>
返回页首
IIS 5.0 返回 Server.GetLastError 错误信息时
当某个 Web 应用程序或页面不可用时,IIS 会返回一个错误信息。其结果是自定义的 ASP 页面处理对服务器端脚本错误的响应。此页面返回状态“500 Internal Server Error”,这导致客户端远程脚本小程序不向远程脚本对象返回任何数据。
要解决此问题,请创建一个返回状态“200 OK”的自定义错误页面,然后在远程脚本服务器页面或应用程序的“自定义错误”部分引用此页面。为此,请按以下步骤操作:
注重:可以为各个页面、整个应用程序或者整个 Web 站点或 Web 服务器设置此自定义错误页面。
创建 %SystemRoot%\WinNT\Help\IISHelp\Common\500-100.asp 的副本,并将它存储在与原始文件相同的文件夹中。将新文件命名为 500-100-OK.asp。
单击开始,指向程序,指向附件,然后单击记事本。
在记事本中,单击文件菜单上的打开。在查找范围下拉框中,浏览到 500-100-OK.asp 文件,然后单击打开。
将下面的代码Response.Status = "500 Internal Server Error"
替换为: Response.Status = "200 OK"
注重:假如以前没修改过错误信息,则代码的原始行为第 12 行。
在文件菜单中,单击保存。
在 Internet 服务治理器的控制台树中,单击您的 Web 服务器。假如您的远程脚本 ASP 页面位于其中一个 Web 站点下的 Web 应用程序中,则展开您的 Web 应用程序。
在“具体信息”窗格中,右键单击您的远程脚本服务器 ASP 页面,然后单击属性。
单击自定义错误。在列表中,查找 500;100 的项。默认情况下,该项被设置为一个 URL 并引用 Help/Common/500-100.asp。单击编辑属性。
修改路径,使其指向 /IISHelp/Common/500-100-OK.asp,单击确定,然后再次单击确定。
返回页首
给 Alpha 或 UNIX 上的文件分配类别时
给 Alpha 或 UNIX 上的文件分配类别时,会收到一个 HTTP 500 错误信息。
要解决此问题,请安装 Microsoft Office 2000 Service Release 1 (SR-1) 或 Service Release 1a (SR-1a)。要下载 Office 2000 SR-1,请参见下面的 Microsoft Web 站点:
http://office.microsoft.com/downloads/2000/O2kSR1DDL.aspx
