TrueURL
TrueURL

メニュー

308 恒久的なリダイレクト

リクエストメソッドとボディを維持する恒久的なリダイレクトです。301 と同じく今後は新しい URL を使いますが、POST が GET に変わることはありません。

リーズンフレーズ
Permanent Redirect
リダイレクト
はい
デフォルトでキャッシュ可能
はい

308 Permanent Redirect は、対象のリソースに Location で示される新しい恒久的な URL があり、クライアントはメソッドやボディを変えずに、そこでリクエストし直す必要があることを示します。308 は 301 Moved Permanently に相当する、メソッドを維持するコードです。307 と 302 の関係と同じです。RFC 7238(2014 年)で導入され、RFC 7538(2015 年)で正式な標準となり、現在は RFC 9110 の一部です。

301 と同じく 308 もヒューリスティックにキャッシュ可能なので、ブラウザーはこれを記憶し、次回からは新しい URL に直接移動します。現在のすべてのブラウザー、主要なクローラー、一般的な HTTP ライブラリが 308 に対応しています。対応していなかったのは、Windows 7 の Internet Explorer のようなごく古いクライアントだけです。

レスポンス例

HTTP
HTTP/1.1 308 Permanent Redirect
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: /docs/
Content-Type: text/plain; charset=utf-8
Content-Length: 21

Redirecting to /docs/

SEO とリダイレクトチェック

Google は 308 を 301 と同様に、リダイレクト先が新しい正規 URL であることを示す強いシグナルとして扱うため、検索結果では新しい URL が古い URL に置き換わります。メソッドを維持する必要がある場合(API、フォームの送信先)や、利用しているプラットフォームがデフォルトで 308 を使う場合は 308 を使いましょう。通常のページの移動では、SEO 上の効果は 301 と 308 で変わりません。

Next.js や Vercel などのプラットフォームは、恒久的なリダイレクトや末尾のスラッシュの正規化に 308 を使います。301 リダイレクトチェッカーでは各ホップが恒久的(301 または 308)か一時的かを確認でき、末尾スラッシュチェッカーでは URL の両方のバリエーションをテストできます。

よくある原因と主な用途

  • フレームワークやプラットフォームによる恒久的なリダイレクト(Next.js の permanent: true、Vercel のリダイレクトルール、CDN のルールなど)。
  • リクエストメソッドを維持する必要がある、末尾のスラッシュや大文字・小文字の正規化。
  • API エンドポイントが恒久的に移動したが、クライアントが古い URL に POST や PUT を送り続けている場合。
  • HTTP から HTTPS へのアップグレードに、308 を使うプラットフォームやプロキシ。

301 リダイレクトチェッカー

無料の TrueURL リダイレクトチェッカーで、URL が返すすべてのステータスコードをホップごとに確認できます。