405 Method Not Allowed は、サーバーはそのリクエストメソッドを知っているものの、対象リソースがそれに対応していないことを示します。レスポンスには、リソースが対応しているメソッドを列挙した Allow ヘッダー(たとえば Allow: GET, HEAD, OPTIONS)を含める必要があります。
典型的なのは、静的ファイルへの POST、読み取り専用の API リソースへの DELETE、フォームの POST しか受け付けないエンドポイントへの GET です。サーバーがそのメソッド自体を認識しない場合は、代わりに 501 Not Implemented を返すのが正解です。
405 はヒューリスティックにキャッシュ可能です。
レスポンス例
HTTP
HTTP/1.1 405 Method Not Allowed
Date: Fri, 06 Nov 2026 10:15:32 GMT
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Content-Length: 30
{"error":"method_not_allowed"} SEO とリダイレクトチェック
通常の GET リクエストに対する 405 は 4xx エラーであり、インデックスの妨げになります。ただ、問題はほかのメソッドで表面化することのほうが多くあります。サーバーやフレームワークの中には HEAD に 405 で応答するものがあり、帯域幅を節約するために HEAD を使うリンクチェッカーや監視ツールを混乱させます。メソッドを HEAD に設定したチェックで 405、GET で 200 が返る場合、そのサーバーは HEAD を正しく処理できていません。HTTP では、汎用のサーバーはこのメソッドに対応しなければならないと定められています。
よくある原因と主な用途
- フォームや API クライアントが、静的コンテンツしか配信しない URL に POST している場合。nginx はこうしたリクエストに「405 Not Allowed」と返します。
- フレームワークのルートが
GETしか定義していないため、HEAD、POST、PUTが拒否される場合。 - リダイレクトでメソッドが維持された場合。307 や 308 の後は
POSTがPOSTのままなので、GETしか受け付けないページにたどり着くことがあります。 - サーバーの設定で、WebDAV やその他のメソッドが無効になっている場合。