Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Vista 下 IIS 7 解決 HTTP 500 錯誤完整指南

編輯:Windows Vista 教學

在 Windows Vista 系統上調試 ASP 應用程式時,經常會遇到 HTTP 500 內部伺服器錯誤,且預設不顯示詳細錯誤資訊,導致除錯困難。本文詳細記錄在 IIS 7 中啟用詳細錯誤訊息、設定自訂錯誤頁面以及解決「不允許父路徑」問題的完整步驟,幫助開發者快速定位並修復程式錯誤。

一、啟用詳細錯誤訊息傳送至瀏覽器

預設 IIS 7 為了安全性,會隱藏詳細的 ASP 錯誤資訊。必須手動開啟「將詳細錯誤發送到瀏覽器」選項,才能在瀏覽器中直接看到具體錯誤行號與描述。

  1. 開啟「Internet Information Services (IIS) 管理員」。
  2. 在左側連線面板選取伺服器節點或特定網站。
  3. 在中間功能視圖中雙擊 ASP 圖示。
  4. 展開 偵錯屬性 區塊,找到 將詳細錯誤發送到瀏覽器,將值改為 True。
  5. 點擊右側動作欄的 套用 按鈕生效。

二、設定 500 錯誤頁面為詳細 ASP 錯誤頁

僅啟用詳細錯誤仍可能被 IIS 預設錯誤頁攔截,需進一步指定 500 錯誤使用經典 ASP 詳細錯誤頁 500-100.asp。

  1. 在 IIS 管理員功能視圖中雙擊 錯誤頁面。
  2. 在清單中找到狀態碼 500 那一列,雙擊開啟編輯對話框。
  3. 選擇 在這個網站上執行 URL,輸入 /500-100.asp(或點選「設定」按鈕,將「相對檔案路徑」改為 500-100.asp)。
  4. 一路按 確定 完成設定。

三、關閉 IE「顯示友善 HTTP 錯誤訊息」

Internet Explorer 內建的「友善錯誤頁面」會替換伺服器傳回的詳細錯誤內容,必須關閉此功能。

  1. 開啟 IE,依序點選 工具 → 網際網路選項 → 進階 索引標籤。
  2. 在「瀏覽」區塊取消勾選 顯示友善 HTTP 錯誤訊息。
  3. 按 確定 並重新整理頁面。

四、實際錯誤範例與父路徑問題解決

完成上述設定後,重新執行 ASP 頁面,瀏覽器將顯示類似以下的詳細錯誤:

Active Server Pages 錯誤 'ASP 0131'
不允許的父路徑
/Admin/index.asp,行 1
包含檔案 '../Conn.asp' 不能用 '..' 表示父目錄。

這是因為 IIS 7 預設停用「啟用父路徑」功能,導致使用 ../ 相對路徑引用檔案失敗。解決方法如下:

  1. 在 IIS 管理員功能視圖中雙擊 ASP。
  2. 展開 行為 區塊,找到 啟用父路徑,將值改為 True。
  3. 點擊右側 套用 即可生效,無需重啟 IIS。

五、補充說明

  • 啟用父路徑雖方便舊版 ASP 專案遷移,但會增加目錄遍歷攻擊風險,建議生產環境改用虛擬目錄或應用程式根路徑 / 方式引用檔案。
  • 若網站使用應用程式集區身分識別,確認該身分具備讀取父目錄檔案的 NTFS 權限。
  • 修改 ASP 設定後若未立即生效,可嘗試回收對應的應用程式集區。

透過以上四大步驟,即可在 Vista IIS 7 環境下順利顯示詳細 ASP 錯誤並解決父路徑引用問題,大幅提升開發除錯效率。

Copyright © Windows教程網 All Rights Reserved