【PHP】301、302リダイレクトを実行する方法、metaタグで対応する方法も紹介!

過去記事の修正をちょっとずつ進めています。

当ブログは公開当初「PHPメモ」という名前で、PHPに関する記事ばかりを公開していたんですよね。今はWordPressを使ってますが、当時はSeesaaブログでした。

今回の記事は、2015年8月21日に公開したものを編集しています

いつも忘れてしまうので、PHPで301リダイレクト302リダイレクトをおこなう方法を書いておきます。

おすすめネット回線BEST3

PHPで301リダイレクト

HTTPレスポンスコードを「301」とします。



もしくは、header関数でステータスコードを指定してもOKです。

こんな書き方ですね↓


headerタグが動かなかった時などのために、念のためexitを記述しています。

PHPで302リダイレクト

302を明示的に指定しない場合は、「302」リダイレクト扱いとなります。


「PHPマニュアル」に記載されている書き方

PHPマニュアル」に記載されているリダイレクトの書き方を引用します。

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )


【引用】PHPマニュアル - header https://secure.php.net/manual/ja/function.header.php

【参考】CakePHPでの301リダイレクト

CakePHPで301リダイレクトをする場合には、以下のような書き方で対応します。

redirect('/example', '301');

http://」から始めて、絶対パスを指定することも可能です。

今はいろんなPHPフレームワークがありますね。

【参考】 metaタグによる301リダイレクト

PHPではなく、HTMLのheadタグ内、metaタグでリダイレクトする場合の方法を書きます。

これなら、PHPなどのプログラムが分からない人でも対応できますね。

HTMLのheadタグ内に以下を記述してください。

content」の値で何秒後にリダイレクトするかを指定します。

0秒の場合 301リダイレクト
秒数を指定した場合 302リダイレクト

ただし、検索エンジンによっては正常に認識されない可能性もあるので、ご注意ください。

まとめ - 301リダイレクトと302リダイレクトとは?

301リダイレクトは、ページの変更やサイトの移転などでURLが恒久的に変更された場合の転送処理を行うステータスコードですね。

302リダイレクトは、一時的な転送の場合に使用します。

301リダイレクトであれば、被リンクなど元のページのSEO要因を引き継ぐとされていますので、SEO目的に合わせて慎重に使い分けるようにしましょうね。?>

おすすめネット回線BEST3