當您造訪裝載於執行 IIS 之伺服器上的網站時,發生 HTTP 錯誤 405.0

本文可協助您解決 HTTP 錯誤 405.0。 當您造訪裝載於執行 Internet Information Services (IIS) 之伺服器上的網站時,就會發生此錯誤。

原始產品版本:Internet Information Services 7.0 和更新版本
原始 KB 編號: 942051

徵狀

請考慮下列情節: 您的網站裝載於執行 Internet Information Services (IIS) 7.0 或更新版本的伺服器上。 當使用者前往此網站時,使用者會收到類似下列範例的錯誤訊息:

應用程式 "application name" 中有伺服器錯誤
HTTP 錯誤 405.0 - 不允許方法
HRESULT:0x80070001
HRESULT 的描述
無法顯示您要尋找的頁面,因為正在使用無效的方法 (HTTP 動詞命令) 。

原因 1

之所以發生此問題,是因為用戶端使用不符合 HTTP 規格的 HTTP 方法提出超文本傳輸通訊協定 (HTTP) 要求。

原因 2

之所以發生此問題,是因為用戶端將 方法傳送 POST 至設定為由 StaticFile 處理程式處理的頁面,以提出 HTTP 要求。 例如,用戶端會將方法傳送 POST 至靜態 HTML 頁面。 不過,為處理程式設定的 StaticFile 頁面不支援 POST 方法。

原因 3

WebDAV 發佈會干擾 HTTP PUT。

原因 1 的解決方式

請確定客戶端傳送的要求包含有效的 HTTP 方法。 若要這樣做,請遵循下列步驟:

  1. 選取 [開始],在 [開始搜尋] 方塊中輸入「記事本」,以滑鼠右鍵按一下 [記事本],然後選取 [以系統管理員身分執行]

    注意事項

    如果系統提示您輸入系統管理員密碼或確認,請輸入密碼,或提供確認。

  2. 在 [檔案] 功能表上,選取 [開啟]。 在 [ 檔名] 方塊中,輸入 %windir%\system32\inetsrv\config\applicationhost.config,然後選取 [ 開啟]

  3. ApplicationHost.config 檔案中 <handlers> ,找出標記。

  4. 請確定所有處理程式都使用有效的 HTTP 方法。

  5. 儲存 ApplicationHost.config 檔。

原因 2 的解決方式

將 POST 要求傳送至設定為由處理程式以外的處理程式處理的 StaticFile 頁面。 例如, ASPClassic 處理程式。 或者,變更處理程式正在處理 StaticFile 的要求,使其成為 GET 要求,而不是 POST 要求。

原因 3 的解決方式

Web.config檔案中 移除 WebDAV 模組和處理程式。 如果未使用 WebDAV 發佈功能,也請從電腦移除該功能。 若要這樣做,請遵循下列步驟:

  1. 取 [開始],在 [開始搜尋] 方塊中輸入開啟或關閉 Windows 功能,然後選取 [開啟或關閉 Windows 功能]
  2. 在 [Windows 功能] 視窗中,展開 [因特網資訊服務 ->萬維網服務 ->通用 HTTP 功能]
  3. 取消核取 WebDAV 發佈 功能。