admin 管理员组文章数量: 1184232
如何解决与 “HTTP 500 - Internal Server Error” ( HTTP 500 – 内部服务器错误)错误信息有关的问题
概要
以下错误信息表明,返回错误时承载网站的 Web 服务器出现问题:
HTTP 500 - Internal Server Error
本文介绍如何排除这些错误。本文主要面向网站管理员。这些错误产生的原因很多,并且可影响许多不同的系统配置。本文所述步骤必须由服务器上管理员组的成员执行。
遇到这些错误的最终用户应就此问题通知网站管理员。
尝试加载 Localstart.asp 文件时
当网站的一个默认文档
Iisstart.asp
尝试加载
Localstart.asp
文件时,如果尝试访问此页面的用户不具有运行
Localstart.asp
文件中包含的脚本的正确权限,您会收到
HTTP 500
错误信息。如果清除
显示友好
HTTP
错误信息
复选框,将看到与下面的
HTTP 500
错误信息类似的信息:
Error Type:
Microsoft VBScript runtime (0x
800A
0046)
Permission denied:'GetObject'
/localstart.asp, line 19
出现此问题的原因是,
Localstart.asp
文件中包含了使用
IIS Admin
对象访问元数据库的
Active Directory
服务接口
(ADSI)
和
Visual Basic Scripting Edition (VBScript)
代码。出于安全考虑,只有本地
Administrators
组的成员才能访问元数据库。这种现象是设计导致的。
要解决此问题,请按照下列步骤操作:
1. | 单击 开始 ,指向 程序 ,指向 管理工具 ,然后单击 Internet 信息服务 。 |
2. | 在控制台树中,单击 默认网站 。在显示窗格中,右键单击 Localstart.asp ,然后单击 属性 。 |
3. | 在 文件安全 选项卡的 匿名访问和身份验证控制 中,单击 编辑 。 |
4. | 在 身份验证方法 属性页中,单击以清除 匿名访问 。 |
浏览 ASP 页面时
当您浏览 Active Server Pages (ASP) 网页时,会收到 “HTTP 500.100 - Internal Server Error - ASP error” 错误信息。如果清除 显示友好 HTTP 错误信息 复选框,将在 “ 技术信息(用于支持人员) ” 部分看到类似下面这样的信息:
Error Type:
Microsoft VBScript runtime (0x
800A
01F
4)
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
服务器设置此自定义错误页面。
1. | 创建 %SystemRoot%/WinNT/Help/IISHelp/Common/500-100.asp 的副本,并将它存储在与原始文件相同的文件夹中。将新文件命名为 500-100-OK.asp 。 |
2. | 单击 开始 ,指向 程序 ,指向 附件 ,然后单击 记事本 。 |
3. | 在记事本中,单击 文件 菜单上的 打开 。在 查找范围 下拉框中,浏览到 500-100-OK.asp 文件,然后单击 打开 。 |
4. |
将下面的代码
Response.Status = "500 Internal Server Error"
替换为:
Response.Status = "200 OK" 注意 :如果以前没修改过错误信息,则代码的原始行为第 12 行。 |
5. | 在 文件 菜单中,单击 保存 。 |
6. | 在 Internet 服务管理器的控制台树中,单击您的 Web 服务器。如果您的远程脚本 ASP 页面位于其中一个网站下的 Web 应用程序中,则展开您的 Web 应用程序。 |
7. | 在 “ 详细信息 ” 窗格中,右键单击您的远程脚本服务器 ASP 页面,然后单击 属性 。 |
8. | 单击 自定义错误 。在列表中,查找 500;100 的项。默认情况下,该项被设置为一个 URL 并引用 Help/Common/500-100.asp 。单击 编辑属性 。 |
9. | 修改路径,使其指向 /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
网站:
()
将 500-100.asp 文件用于非默认网站上的错误处理时
将
500-100.asp
文件用于非默认网站上的错误处理时,会收到一个
HTTP 500
错误信息。
要解决此问题,请按照下列步骤操作:
1. | 在 “Internet 信息服务 ” 管理单元的控制台树中,右键单击相应的网站,单击 新建 ,然后单击 虚拟目录 。 |
2. | 在 “ 虚拟目录创建向导 ” 中,单击 下一步 。在 别名 文本框中,键入 IISHelp ,然后单击 下一步 。 |
3. | 当提示您输入内容文件夹的路径时,单击 浏览 ,选择 WINNT/Help/IisHelp 文件夹,然后单击 下一步 。 |
4. | 在 访问权限 页面中,接受所有默认值,单击 下一步 ,然后单击 完成 。 |
5. | 再次右键单击网站,然后单击 属性 。 |
6. | 在 自定义错误 选项卡中,选择 "500;100" 错误行,然后单击 编辑属性 。 |
7. | 在 信息类型 列表框的 URL 文本框中,键入 /iisHelp/common/500-100.asp 。 |
8. | 单击 确定 ,然后再次单击 确定 。 |
在索引服务器中执行查询时
单击
开始
在索引服务器中执行查询时,可能会收到一个
HTTP 500
错误信息。
出现此错误的原因是,没有为包含查询页面的文件夹定义默认的应用程序起始点。
要解决此问题,请按照下列步骤操作:
1. | 在 “Internet 信息服务 ” 管理单元的控制台树中,右键单击包含查询页面的站点的根目录,然后单击 属性 。 |
2. | 在 主目录 选项卡中,单击 创建 。 |
3. | 单击 确定 ,然后重试查询。 |
从 ASP 页面中访问提供程序时
如果清除了 显示友好 HTTP 错误信息 复选框,当您尝试从 ASP 页面中访问提供程序时,可能会收到以下错误信息:
ADODB.Connection (0x 800A 0E 7A ) Provider cannot be found.It may not be properly installed./Nwind.asp, line 10
出现此错误的原因是, Microsoft 数据访问组件 (MDAC) 所需的动态链接库 (DLL) 尚未注册。
1. | 单击 开始 ,单击 运行 ,然后键入 cmd 。 |
2. | 在命令提示符下,键入 cd %systemroot%:/Program Files/Common Files/System/Ole 。 |
3. | 在命令提示符下,键入 regsvr32 sqloledb.dll 。 |
4. | 收到 DLL 成功注册的确认后,单击 确定 。 注意 :此解决方案使用了 Microsoft SQL Server OLE Provider DLL (Sqloledb.dll) 作为示例。由于未注册的 DLL 可能会因使用的 OLE DB 提供程序而异,所以您必须根据具体情况修改步骤 2 。 |
在 IIS 5.0 上设置 COM+ 应用程序标识时
当您尝试在
IIS 5.0
上设置
COM+
应用程序标识时,会收到一个
HTTP 500
错误信息。
当
COM+
应用程序或
Microsoft Transaction Server (MTS)
程序包的标识被配置为
交互式用户
-
当前已登录的用户
时,会出现此问题。由于当前没有用户登录到
IIS
控制台,所以应用程序无法运行。
要解决此问题,请将
COM+
应用程序或
MTS
程序包的标识设置为
此用户
,然后指定一个用户帐户。为此,请按照下列步骤操作:
1. | 单击 开始 ,指向 程序 ,指向 管理工具 ,然后单击 组件服务 。 |
2. | 在控制台树中,依次展开 组件服务 、 计算机 、 我的电脑 和 COM+ 应用程序 。查找希望更改其标识的应用程序。 |
3. | 右键单击相应的 COM+ 应用程序,然后单击 属性 。 |
4. | 在 标识 选项卡中,单击 此用户 ,键入一个有效的计算机帐户,然后单击 确定 。 |
在 IIS 4.0 上设置 MTS 应用程序标识时
当您在
IIS 4.0
上设置
MTS
程序标识时,会收到一个
HTTP 500
错误信息。
要解决此问题,请按照下列步骤操作:
1. | 在 “Internet 信息服务 ” 管理单元中,依次展开 计算机 、 我的电脑 和 Microsoft Transaction Server 。查找希望更改其标识的程序包。应用程序列在 “ 已安装的应用程序包 ” 文件夹中。 |
2. | 右键单击该程序包,然后单击 属性 。 |
3. | 在 标识 选项卡中,单击 此用户 ,键入一个有效的帐户,然后单击 应用 。 |
IIS 4.0 在自己的内存空间中运行时
如果满足以下任一条件,就会收到 HTTP 500 错误信息:
• | IIS 4.0 的默认网站作为一个独立的进程在自己的内存空间中运行。 |
• | Microsoft Internet Explorer 被配置为在 Proxy Server 2.0 上使用 Web 代理服务器。 |
• | BackOffice Small Business Server 4.5 版上的 Internet Explorer 被配置为使用代理服务器,并且启用了代理服务器数据包筛选。 |
要解决此问题,请按照下列步骤操作:
1. | 单击 开始 ,指向 程序 ,单击 Microsoft Proxy Server ,然后单击 Microsoft 管理控制台 。 |
2. | 在控制台树中,展开 Internet Information Server 文件夹,然后展开服务器对象。 |
3. | 右键单击 默认网站 ,然后单击 属性 。 |
4. | 在 主目录 选项卡中,找到 应用程序设置 区域,然后单击以清除 在单独的内存空间运行(独立进程) 。 |
5. | 单击 应用 ,然后单击 确定 。 |
6. | 右键单击 默认网站 ,然后单击 停止 。 |
7. | 右键单击 默认网站 ,然后单击 启动 。 |
参考
有关 “ 显示友好 HTTP 错误信息 ” 选项的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
() 超文本传输协议错误信息说明
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
() 如何获得并安装 Microsoft Office 2000 SR-1/SR -1a 更新
这篇文章中的信息适用于 :
• | Microsoft Internet Information Server 4.0 |
• | Microsoft Internet Information Services 5.0 |
版权声明:本文标题:500内部服务器错误困扰你?揭秘并解决Flash中心的常见问题,让你的项目顺风顺水! 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1773584782a3563618.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论