IIS 返回 HTTP 錯誤 405 - 用於訪問該頁的 HTTP 動作未被許可,實為靜態文件擴展名 (.html/.htm/.shtml) 缺少腳本映射處理器,導致 POST/GET 動作被靜態文件處理器拒絕。本文提供腳本映射添加與父路徑啟用雙重修復。
GET, HEAD,拒絕 POST, PUT, DELETE。inetmgr)。C:\Windows\System32\inetsrv\asp.dll (經典 ASP)C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll (ASP.NET).html (或 .htm, .shtml, .shtm)GET,HEAD,POST)| 選項 | 作用 | 建議 |
|---|---|---|
| 可執行文件 | 指定處理該擴展名的 ISAPI/CGI 模組 | 按網站技術棧選擇 (asp.dll / aspnet_isapi.dll / php-cgi.exe) |
| 動作: 所有動作 | 允許所有 HTTP Verb 通過此映射 | 表單提交頁面建議;靜態資源頁面僅 GET/HEAD |
| 啟用父路徑 | 允許腳本使用 ../ 相對路徑包含父目錄文件 | 舊 ASP 應用常需,新應用建議關閉提升安全 |
' 測試 test.html
<%
Response.Write "POST received: " & Request.Form("username")
%>
瀏覽器提交表單,顯示「POST received: test」即修復成功。
asp.dll 版本與應用程式池 .NET 版本/管道模式匹配。補全靜態擴展名腳本映射,消除 405 误拦截,讓傳統表單提交無縫運行。