IIS を実行しているサーバーでホストされている Web サイトにアクセスするときの HTTP エラー 405.0
この記事は、
元の製品バージョン:インターネット インフォメーション サービス 7.0 以降のバージョン
元の KB 番号: 942051
現象
次のシナリオについて考えてみます。 インターネット インフォメーション サービス (IIS) 7.0 以降のバージョンを実行しているサーバーでホストされている Web サイトがある。 ユーザーがこの Web サイトにアクセスすると、次の例のようなエラー メッセージが表示されます。
アプリケーション「アプリケーション名」でのサーバー エラー
HTTP エラー 405.0 - メソッドが許可されていません
HRESULT: 0x80070001
HRESULT の説明
無効なメソッド (HTTP 動詞) が使用されているため、検索しているページを表示できません。
原因 1
この問題は、クライアントが HTTP 仕様に準拠していない HTTP メソッドを使用してハイパーテキスト転送プロトコル (HTTP) 要求を行うためです。
原因 2
この問題は、StaticFile
ハンドラーによって処理されるように構成されたページに POST
メソッドを送信して、クライアントが HTTP 要求を行うためです。 たとえば、クライアントは POST
メソッドを静的 HTML ページに送信します。 ただし、 StaticFile
ハンドラー用に構成されたページは、 POST
メソッドをサポートしていません。
原因 3
WebDAV 発行は HTTP PUT に干渉します。
原因 1 の解決策
クライアントが有効な HTTP メソッドを含む要求を送信していることを確認します。 そのためには、次の手順に従います。
[スタート] を選択し、[スタート検索] ボックスに「Notepad」と入力し、Notepad を右クリックして、[管理者として実行] を選択。
Note
管理者パスワードまたは確認を求めるメッセージが表示されたら、パスワードを入力するか、確認を入力します。
[ファイル] メニューの [開く] を選択します。 [ ファイル名 ボックスに「
%windir%\system32\inetsrv\config\applicationhost.config
」と入力し、 Open を選択します。ApplicationHost.config ファイルで、
<handlers>
タグを見つけます。すべてのハンドラーで有効な HTTP メソッドが使用されていることを確認します。
ApplicationHost.config ファイルを保存します。
原因 2 の解決策
post 要求を、 StaticFile
ハンドラー以外のハンドラーによって処理されるように構成されたページに送信します。 たとえば、 ASPClassic
ハンドラーです。 または、POST 要求ではなく GET 要求になるように、 StaticFile
ハンドラーによって処理される要求を変更します。
原因 3 の解決策
Web.config ファイルから WebDAV モジュールとハンドラーを削除します。 また、WebDAV 発行機能が使用されていない場合は、コンピューターから削除します。 そのためには、次の手順に従います。
- [スタート] を選択し、[スタート検索] ボックスに「Windows の機能をオンまたはオフにする」と入力し、[Windows の機能をオンまたはオフにする] 選択。
- [Windows 機能] ウィンドウで、->World Wide Web サービス ->Common HTTP 機能インターネット インフォメーション サービス展開します。
- WebDAV 発行機能をオフにします。