ユーザーは、インターネット インフォメーション サービス 7.0 を実行しているサーバー上でホストされている web サイトを訪問したときにエラー メッセージ:「HTTP エラー 405.0 - 方法は使用できません」


現象


以下の事例で説明します。インターネット インフォメーション サービス (IIS) 7.0 を実行しているサーバーでホストされている web サイトがあります。ユーザーがこの web サイトにした場合、次のようなエラー メッセージ表示されます。
サーバー エラー"アプリケーション名"
HTTP エラー 405.0 - 方法は使用できません。
HRESULT: 0X80070001
HRESULT の説明
無効なメソッド (HTTP 動詞) が使用されているために、探しているページを表示できません。

原因


原因 1

この問題は、クライアントが HTTP 仕様に準拠していないする HTTP メソッドを使用して HTTP 要求を行うために発生します。

この問題を解決するには、解決策 1 を参照してください。

原因 2

この問題は、StaticFile ハンドラーによって処理されるように構成されているページに POST メソッドを送信することによって、クライアントが HTTP 要求を行うために発生します。などのクライアントは、POST メソッドを静的な HTML ページに送信します。ただし、StaticFile ハンドラーに対して構成されているページは、POST メソッドをサポートしていません。

この問題を解決するには、解決方法 2 を参照してください。

解決策


解決方法 1

クライアントが有効な HTTP メソッドを含む要求を送信することを確認します。これを行うには、以下の手順を実行します。
  1. [スタート] ボタン、検索の開始ボックスで、メモ帳を入力メモ帳を右クリックし、管理者として実行] をクリックします。

    注: 管理者のパスワードまたは確認を求められた場合のパスワードを入力または確認を提供します。
  2. [ファイル] メニューの [開く] をクリックします。ファイル名] ボックスでは、 %windir%\system32\inetsrv\config\applicationhost.configを入力し、[開く] をクリックします。
  3. ApplicationHost.config ファイルで< ハンドラー >タグを検索します。
  4. すべてのハンドラーが有効な HTTP メソッドを使用することを確認します。
  5. ApplicationHost.config ファイルを保存します。

解決方法 2

StaticFile ハンドラー (たとえば、ASPClassic ハンドラー) 以外のハンドラーによって処理されるように構成されているページには、POST 要求を送信します。または、これは、POST 要求ではなく GET 要求できるように、StaticFile ハンドラーによって処理される要求を変更します。