PHPで301リダイレクトをする方法を解説!

PHPで301リダイレクトをする方法をサンプルコードと共に解説します。header関数を使うことで301や302などステータスコードを指定してリダイレクトを行う事が出来ます。

コンテンツ [表示]

  1. 1リダイレクトの301と302のステータスコードの違い
  2. 2PHPで301リダイレクトをする方法

リダイレクトの301と302のステータスコードの違い

リダイレクトの301や302は、HTTPレスポンスステータスコードといって、リクエストが正常に完了したどうかを示し、リダイレクトの目的を明示的に表すものです。

リダイレクトの見た目の違いはありませんが、301は恒久的なリダイレクト302は一時的なリダイレクトを意味します。

メンテナンス中に一時的にメンテナンスページへリダイレクトする場合は302のステータスコードを設定しますが、WEBサイトの引っ越しの場合にはWEBサーバーを用いて恒久的なリダイレクトを意味する301のステータスコードを設定します。(参考

Googleなどのクローラーがこのステータスコードを判断し、検索順位に影響を与えます。リダイレクトを行う場合は一時的なのか恒久的なのかを判断して適切なステータスコードを設定します。

Photo bykreatikar

PHPで301リダイレクトをする方法

リダイレクトするには様々な方法がありますが、PHPで301リダイレクトをするにはheader関数を用います。

header関数ではステータスコードは第三引数で設定します。

301リダイレクト

header('リダイレクト先のURL', true, 301);

header関数を使って実際にリダイレクトさせたサンプルコードは下記となります。

「RUN」ボタンを押すとリダイレクトされます。

注意として、PHPのheader関数の前にHTMLの出力がある場合、header関数が正常に動作しない場合があります。

また、header関数の記述以降のPHPも継続して動作する為、header関数の後にはexit関数をセットで記述するようにしましょう。

【期間限定】全カリキュラム無料で提供中!

Qumeru

Qumeru[クメル]ではプログラミング学習が出来るカリキュラムを期間限定で無料で提供しています。

無料登録することで、すぐにプログラミング学習を始められます。ぜひカリキュラムをお試し下さい!

関連記事

【期間限定】全カリキュラム無料で提供中!

Qumeru[クメル]ではプログラミング学習の全カリキュラムを期間限定で無料で提供しています。

無料登録することで、すぐにプログラミング学習を始められます。ぜひお試し下さい!

目次

広本 由美
ライター

広本 由美

山口でフリーランスエンジニアをしています! 開発経験のある言語/フレームワーク [言語] PHP/Dorcker for laravel/Java/C#.NET/JavaScript・jQuery/Bootstrap/ [DB] PostgreSQL/MySQL