首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

IIS 7.5 ASP 錯誤「An error occurred」與父路徑問題解決

     編輯:PHP 相關知識

在 IIS 7.5 部署經典 ASP 應用時,常遇到「An error occurred on the server」模糊錯誤,實際多為「不允許的父路徑」問題。本文詳細記錄排查與修復全過程。

錯誤現象

An error occurred on the server when processing the URL.
Active Server Pages 錯誤 'ASP 0131'
不允許的父路徑
/include "../Inc/Const.Asp" 不能用 ".." 表示父目錄

根因

IIS 7+ 默認關閉「將錯誤發送到瀏覽器」與「啟用父路徑」,導致:

  1. 錯誤信息被隱藏,難以定位
  2. ASP 代碼中使用 ../ 相對路徑包含文件被阻攔

解決步驟

步驟 1:開啟詳細錯誤信息

  1. IIS 管理器 → 選中站點 → 功能視圖 → ASP
  2. 展開「調試屬性」→ 將錯誤發送到瀏覽器 設為 True
  3. 點擊右側「應用」

ASP 設置

步驟 2:啟用父路徑支持

  1. 同一 ASP 設置頁面
  2. 展開「行為」→ 啟用父路徑 設為 True
  3. 點擊「應用」

啟用父路徑

配置說明(微軟官方文檔)

設置鍵名默認值說明
將錯誤發送到瀏覽器scriptErrorSentToBrowserTrue將調試詳情(文件、行號、描述)輸出到客戶端
啟用父路徑enableParentPathsFalse允許 ASP 使用 .. 表示父目錄路徑

補充技巧

  • 瀏覽器端:IE 設置 → 進階 → 取消勾選「顯示友好 HTTP 錯誤信息」
  • 虛擬主機用戶:需聯繫服務商在控制面板開啟此選項
  • 遷移建議:新項目建議遷移至 ASP.NET Core / PHP / Node.js 等現代技術棧

修復驗證

設置完成後重新訪問頁面,應能正常顯示內容而非 403/500 錯誤。若仍異常,檢查:

  1. 應用程序池 .NET 版本/托管模式
  2. 目錄讀取/執行權限
  3. web.config 中 <asp scriptErrorSentToBrowser="true" enableParentPaths="true" />

雖然 ASP 已是歷史技術,但存量系統維護仍需掌握 IIS 經典配置要點。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved