在 Windows Vista 系統上調試 ASP 應用程式時,經常會遇到 HTTP 500 內部伺服器錯誤,且預設不顯示詳細錯誤資訊,導致除錯困難。本文詳細記錄在 IIS 7 中啟用詳細錯誤訊息、設定自訂錯誤頁面以及解決「不允許父路徑」問題的完整步驟,幫助開發者快速定位並修復程式錯誤。
預設 IIS 7 為了安全性,會隱藏詳細的 ASP 錯誤資訊。必須手動開啟「將詳細錯誤發送到瀏覽器」選項,才能在瀏覽器中直接看到具體錯誤行號與描述。
僅啟用詳細錯誤仍可能被 IIS 預設錯誤頁攔截,需進一步指定 500 錯誤使用經典 ASP 詳細錯誤頁 500-100.asp。
/500-100.asp(或點選「設定」按鈕,將「相對檔案路徑」改為 500-100.asp)。Internet Explorer 內建的「友善錯誤頁面」會替換伺服器傳回的詳細錯誤內容,必須關閉此功能。
完成上述設定後,重新執行 ASP 頁面,瀏覽器將顯示類似以下的詳細錯誤:
Active Server Pages 錯誤 'ASP 0131'
不允許的父路徑
/Admin/index.asp,行 1
包含檔案 '../Conn.asp' 不能用 '..' 表示父目錄。
這是因為 IIS 7 預設停用「啟用父路徑」功能,導致使用 ../ 相對路徑引用檔案失敗。解決方法如下:
/ 方式引用檔案。透過以上四大步驟,即可在 Vista IIS 7 環境下順利顯示詳細 ASP 錯誤並解決父路徑引用問題,大幅提升開發除錯效率。