共用方式為


HTTP 錯誤 500.0 - 當您開啟 IIS 網頁時發生內部伺服器錯誤錯誤

本文可協助您解決當您瀏覽裝載於 網際網路資訊服務 (IIS) 的網站時所發生的 HTTP 錯誤 500.0 錯誤。

原始產品版本:網際網路資訊服務
原始 KB 編號: 942031

摘要

本文主要說明當您在 IIS Web 應用程式上遇到 HTTP 錯誤 500.0 錯誤時,HResult 程式代碼。 如需 Web 應用程式程式代碼所造成的 500.0 錯誤,請參閱 詳細資訊 一節。

本文適用於網站管理員。 這些錯誤有許多原因,而且可能會影響許多不同的系統設定。 本文所述的程式必須由伺服器上的系統管理員群組成員執行。

遇到這些錯誤的終端用戶應該通知網站管理員問題。

HResult 代碼

HTTP 錯誤 500.0 訊息表示在傳回錯誤時裝載網站的網頁伺服器上發生問題。

請參閱下列這些錯誤的詳細數據。

HResult 代碼 0x80070032

錯誤訊息:

應用程式 "<application name>" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x80070032
HRESULT ISAPI 篩選器 drive:\FilePath\ISAPI_FLT.dll 嘗試註冊 SF_NOTIFY_READ_RAW_DATA 通知的描述。

原因

發生此問題的原因是 IIS 不支援註冊通知的 SF_NOTIFY_READ_RAW_DATA 因特網伺服器 API (ISAPI) 篩選器。

解決方法

請勿使用在 IIS 中註冊通知的 SF_NOTIFY_READ_RAW_DATA ISAPI 篩選器。

HResult 代碼 0x80070035

錯誤訊息:

應用程式 "<application name>" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x80070035
因發生內部伺服器錯誤而無法顯示頁面 HRESULT 的描述。

原因

發生此問題的原因是執行 IIS 的伺服器無法存取所要求位置的已設定根目錄。

解決方法

請確定執行 IIS 的伺服器可以存取所要求位置的已設定根目錄。

HResult 代碼 0x8007000d

錯誤訊息:

應用程式 "<application name>" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x8007000d
HRESULT 處理常式 「ASPClassic」 的描述在其模組清單中有不正確的模組 「IsapiModule」。

原因

發生此問題的原因是網站模組清單中缺少 ISAPIModule 模組。 ISAPIModule 模組位於下列位置: drive:\Windows\System32\inetsrv\isapi.dll

解決方法

若要將 ISAPIModule 模組新增至網站的模組清單,請遵循下列步驟:

  1. 選取 [啟動>執行],輸入inetmgr.exe,然後選取 [確定]。
  2. 在 [IIS 管理員] 中,展開 [伺服器名稱>>網站],然後選取您要修改的網站。<
  3. 在 [功能] 檢視中,按兩下 [模組]
  4. 在 [ 動作] 窗格中,選取 [ 新增原生模組]。
  5. 在 [ 新增原生模組 ] 對話框中,選取 [ IsapiModule ] 複選框,然後選取 [ 確定]。

HResult 代碼 0x800700c1

錯誤訊息:

應用程式 "<application name>" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x800700c1
因發生內部伺服器錯誤而無法顯示頁面 HRESULT 的描述。

原因

發生此問題的原因是腳本對應無效。

解決方法

若要確定腳本對應指向 可處理要求的ISAPI.dll 檔案,請遵循下列步驟:

  1. 選取 [啟動>執行],輸入inetmgr.exe,然後選取 [確定]。

  2. 在 [IIS 管理員] 中,展開 [伺服器名稱>>網站],然後選取您要修改的網站。<

  3. 在 [功能] 檢視中,按兩下 [處理常式對應]

  4. 請確定指令碼對應指向正確的 ISAPI.dll 檔案。

    例如, .asp 檔案應該對應至 %windir%\system32\inetsrv\asp.dll 檔案。

HResult 代碼 0x80070005

錯誤訊息:

應用程式 "<application name>" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x80070005
ISAPI 篩選器 「path_of_isapi」 上的 HRESULT LoadLibraryEx 失敗描述。

原因

之所以發生此問題,是因為在全域層級或網站層級載入無效的 ISAPI 篩選。

解決方法

若要移除無效的 ISAPI 篩選條件,請遵循下列步驟:

  1. 選取 [啟動>執行],輸入inetmgr.exe,然後選取 [確定]。
  2. 在 [IIS 管理員] 中,展開 [伺服器名稱>>網站],然後選取您要修改的網站。<
  3. 在 [功能] 檢視中,按兩下 [ISAPI 篩選條件]
  4. 以滑鼠右鍵按下您要移除的 ISAPI 篩選條件,然後選取 [ 移除]。

HResult 代碼 0x8007007f

HResult 0x8007007f 有兩種可能性:

錯誤訊息 1

應用程式 "<application name>" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x8007007f
ISAPI 篩選器 「path_of_isapi」 上 HRESULT 呼叫 GetProcAddress 失敗的描述。

原因

之所以發生此問題,是因為在全域層級或網站層級載入無效的 ISAPI 篩選。

解決方法

若要移除無效的 ISAPI 篩選條件,請遵循下列步驟:

  1. 選取 [啟動>執行],輸入inetmgr.exe,然後選取 [確定]。
  2. 在 [IIS 管理員] 中,展開 [伺服器名稱>>網站],然後選取您要修改的網站。<
  3. 在 [功能] 檢視中,按兩下 [ISAPI 篩選條件]
  4. 以滑鼠右鍵按下您要移除的 ISAPI 篩選條件,然後選取 [ 移除]。

錯誤訊息 2

應用程式 "<application name>" 中有伺服器錯誤
HTTP 錯誤 500.0 – 內部伺服器錯誤
HRESULT: 0x8007007f
您要尋找的資源有問題,因此無法顯示的 HRESULT 描述。

原因

發生此問題的原因是所要求資源的處理程式對應會指向 無法處理要求的.dll 檔案。

解決方法

若要讓要求的資源對應指向 可處理要求的.dll 檔案,請遵循下列步驟:

  1. 選取 [啟動>執行],輸入inetmgr.exe,然後選取 [確定]。

  2. 在 [IIS 管理員] 中,展開 [伺服器名稱>>網站],然後選取您要修改的網站。<

  3. 在 [功能] 檢視中,按兩下 [處理常式對應]

  4. 以滑鼠右鍵按下您要編輯的腳本對應,然後選取 [ 編輯]。

  5. 在 [ 編輯腳本對應 ] 對話框中,於 [可執行檔] 方塊中 輸入適當的可執行檔 ,然後選取 [ 確定]。

    例如, .asp 檔案應該對應至 %windir%\system32\inetsrv\asp.dll 檔案。

其他相關資訊

如果 Web 應用程式程式代碼擲回例外狀況,而且由應用程式的運行時間攔截(例如,ASP.NET 運行時間),您可能也會在 Web 回應中看到 HTTP 錯誤 500.0 錯誤。 針對從 Web 應用程式程式代碼擲回的任何例外狀況,請檢查應用程式事件記錄檔或您自己的自定義應用程式記錄,以取得例外狀況類型、例外狀況訊息和例外狀況呼叫堆疊。

如果需要進一步偵錯,請使用最新版本的 DebugDiag 來擷取 第一次發生例外狀況傾印。