當您造訪位於執行 IIS 之伺服器上的網站時,HTTP 錯誤405。0

本文可協助您解決 HTTP 錯誤 405.0 ,當您在執行網際網路資訊服務的伺服器上所主控的網站 (IIS) 時,就會發生此錯誤。

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

徵狀

請考慮下列案例。 您的網站主控于執行網際網路資訊服務的伺服器上 (IIS) 7.0 或更新版本。 當使用者前往此網站時,使用者會收到類似下列的錯誤訊息:

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

原因1

發生此問題的原因是,用戶端會使用不符合 HTTP 規格的 HTTP 方法,將超文字傳輸通訊協定 (HTTP) 要求。

原因2

發生此問題的原因是,用戶端會將方法傳送 POST 給設定為由處理常式處理的頁面,以進行 HTTP 要求 StaticFile 。 例如,用戶端會將 POST 方法傳送到靜態 HTML 頁面。 不過,為處理常式設定的頁面 StaticFile 不支援此 POST 方法。

原因1的解決方法

請確定用戶端傳送的要求包含有效的 HTTP 方法。 如果要執行這項操作,請依照下列步驟執行:

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

    注意

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

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

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

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

  5. 儲存 ApplicationHost.config 檔案。

原因2的解決方法

將 POST 要求傳送至設定為由處理常式(而非處理常式)處理的頁面 StaticFile (例如, ASPClassic 處理常式) 。 或者,變更由處理常式處理的要求, StaticFile 使它成為 GET 要求,而不是 POST 要求。