解決與HTTP 500 – 內部服務器錯誤錯誤信息有關的問題

HOW TO:解決與“HTTP 500 - Internal Server Error”(HTTP 500 – 內部服務器錯誤)錯誤信息有關的問題

原文: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

返回頁首 

將 500-100.asp 文件用於非默認 Web 站點上的錯誤處理時
將 500-100.asp 文件用於非默認 Web 站點上的錯誤處理時,會收到一個 HTTP 500 錯誤信息。

要解決此問題,請按以下步驟操作: 
在“Internet 信息服務”管理單元的控制檯樹中,右鍵單擊相應的 Web 站點,單擊新建,然後單擊虛擬目錄。
在“虛擬目錄創建嚮導”中,單擊下一步。在別名文本框中,鍵入 IISHelp,然後單擊下一步。
當提示您輸入內容文件夾的路徑時,單擊瀏覽,選擇 WINNT/Help/IisHelp 文件夾,然後單擊下一步。
在訪問權限頁面中,接受所有默認值,單擊下一步,然後單擊完成。
再次右鍵單擊 Web 站點,然後單擊屬性。
在自定義錯誤選項卡中,選擇 "500;100" 錯誤行,然後單擊編輯屬性。
在信息類型列表框的 URL 文本框中,鍵入 /iisHelp/common/500-100.asp。
單擊確定,然後再次單擊確定。
返回頁首 

在索引服務器中執行查詢時
單擊Go在索引服務器中執行查詢時,可能會收到一個 HTTP 500 錯誤信息。 

出現此錯誤的原因是,沒有爲包含查詢頁面的文件夾定義默認的應用程序起始點。

要解決此問題,請按以下步驟操作: 
在“Internet 信息服務”管理單元的控制檯樹中,右鍵單擊包含查詢頁面的站點的根目錄,然後單擊屬性。
在主目錄選項卡中,單擊創建。
單擊確定,然後重試查詢。
返回頁首 

從 ASP 頁面中訪問提供程序時
如果清除了顯示友好 HTTP 錯誤信息複選框,當您嘗試從 ASP 頁面中訪問提供程序時,可能會收到以下錯誤信息: 

ADODB.Connection (0x800A0E7A) Provider cannot be found.It may not be properly installed./Nwind.asp, line 10 
出現此錯誤的原因是,Microsoft 數據訪問組件 (MDAC) 所需的動態鏈接庫 (DLL) 尚未註冊。 
單擊開始,單擊運行,然後鍵入 cmd。
在命令提示符下,鍵入 cd %systemroot%:/Program Files/Common Files/System/Ole。
在命令提示符下,鍵入 regsvr32 sqloledb.dll。
收到 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 程序包的標識設置爲此用戶,然後指定一個用戶帳戶。爲此,請按以下步驟操作: 
單擊開始,指向程序,指向管理工具,然後單擊組件服務。
在控制檯樹中,依次展開組件服務、計算機、我的電腦和 COM+ 應用程序。查找希望更改其標識的應用程序。
右鍵單擊相應的 COM+ 應用程序,然後單擊屬性。
在標識選項卡中,單擊此用戶,鍵入一個有效的計算機帳戶,然後單擊確定。
返回頁首 
在 IIS 4.0 上設置 MTS 應用程序標識時
當您在 IIS 4.0 上設置 MTS 程序標識時,會收到一個 HTTP 500 錯誤信息。

要解決此問題,請按以下步驟操作: 
在“Internet 信息服務”管理單元中,依次展開計算機、我的電腦和 Microsoft Transaction Server。查找希望更改其標識的程序包。應用程序列在“已安裝的應用程序包”文件夾中。
右鍵單擊該程序包,然後單擊屬性。
在標識選項卡中,單擊此用戶,鍵入一個有效的帳戶,然後單擊應用。
返回頁首 
IIS 4.0 在自己的內存空間中運行時
如果滿足以下任一條件,就會收到 HTTP 500 錯誤信息: 
IIS 4.0 的默認 Web 站點作爲一個獨立的進程在自己的內存空間中運行。
Microsoft Internet Explorer 被配置爲在 Proxy Server 2.0 上使用 Web 代理服務器。
BackOffice Small Business Server 4.5 版上的 Internet Explorer 被配置爲使用代理服務器,並且啓用了代理服務器數據包篩選。
要解決此問題,請按以下步驟操作: 
單擊開始,指向程序,單擊 Microsoft Proxy Server,然後單擊 Microsoft 管理控制檯。
在控制檯樹中,展開 Internet Information Server 文件夾,然後展開服務器對象。
右鍵單擊默認 Web 站點,然後單擊屬性。
在主目錄選項卡中,找到應用程序設置區域,然後單擊以清除在單獨的內存空間運行(獨立進程)。
單擊應用,然後單擊確定。
右鍵單擊默認 Web 站點,然後單擊停止。
右鍵單擊默認 Web 站點,然後單擊啓動。
返回頁首 


參考
有關“顯示友好 HTTP 錯誤信息”選項的其他信息,請單擊下面的文章編號,查看 Microsoft 知識庫中的相應文章: 
218155 超文本傳輸協議錯誤信息說明 

有關其他信息,請單擊下面的文章編號,查看 Microsoft 知識庫中的相應文章: 
245025 OFF2000:如何獲得並安裝 Microsoft Office 2000 SR-1/SR-1a 更新 

返回頁首 









這篇文章中的信息適用於:
Microsoft Internet Information Server 4.0
Microsoft Internet Information Server 5.0
最近更新: 2004-8-13 (3.2)  
關鍵字: kbdownload kbhowto kbHOWTOmaster KB311766 kbAudDeveloper 


Microsoft和/或其各供應商對於爲任何目的而在本服務器上發佈的文件及有關圖形所含信息的適用性,不作任何聲明。 所有該等文件及有關圖形均"依樣"提供,而不帶任何性質的保證。Microsoft和/或其各供應商特此聲明,對所有與該等信息有關的保證和條件不負任何責任,該等保證和條件包括關於適銷性、符合特定用途、所有權和非侵權的所有默示保證和條件。在任何情況下,在由於使用或運行本服務器上的信息所引起的或與該等使用或運行有關的訴訟中,Microsoft和/或其各供應商就因喪失使用、數據或利潤所導致的任何特別的、間接的或衍生性的損失或任何種類的損失,均不負任何責任,無論該等訴訟是合同之訴、疏忽或其它侵權行爲之訴。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章