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

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

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

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

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

PHPで301リダイレクト

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

<?php
  header("HTTP/1.1 301 Moved Permanently");
  header("Location: ;
  exit;

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

こんな書き方ですね↓

<?php
  header("Location: http://example.com/", true, 301);
  exit;

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

PHPで302リダイレクト

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

<?php
  header("Location: ;
  exit;

 

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

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

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

<?php
  // 301 Moved Permanently
  header("Location: /foo.php",TRUE,301);

  // 302 Found
  header("Location: /foo.php",TRUE,302);
  header("Location: /foo.php");

  // 303 See Other
  header("Location: /foo.php",TRUE,303);

  // 307 Temporary Redirect
  header("Location: /foo.php",TRUE,307);

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

 

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

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

<?php
  $this->redirect('/example', '301');

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

いまやいろんなPHPフレームワークがあるねぇ...

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

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

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

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

  <meta http-equiv="refresh" content="0; URL=http://example.com/">

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

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

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

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

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

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

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

ここで広告だよっ↓

プロから直接学べるプログラミングスクールの紹介!PHPコースあり!

Webデザインスクールの「WebCamp」が手がけるママのためのWebデザインコース

1ヶ月の短期集中でWebデザイナーを目指せます。仕事復帰を希望する主婦やママさんにオススメです。

1ヶ月でHP作成!WebCamp

【参考記事】HTMLの勉強ならTechAcademy(テックアカデミー)のフロントエンドコースが短期集中でオススメ!

自己流でプログラミングを覚えようとすると、環境設定でつまづく、書いたプログラムがなぜ動かないか解決できず、多大な時間を浪費してしまいがちです。

担当の指導者(メンター)が付いてくれるTechAcademyなら、分からないことをどんどん質問して解決できます!コードレビューしてもらえるのも素晴らしい点ですね。

プログラミング 無料体験

【参考記事】HTMLの勉強ならTechAcademy(テックアカデミー)のフロントエンドコースが短期集中でオススメ!

Web制作会社が立ち上げたWebデザイナー育成スクール Web塾超現場主義

Web制作に実際に携わっている講師陣が、現場で通用するスキルを伝授します!卒業後は転職支援、仕事紹介などを行っており、フリーランス独立する道を探すこともできそうです。

まだ「独立・開業はちょっと...」という方へは、当社の制作案件をお手伝いして頂く道も開けます。
Facebookアカウントでコメント

※本コメント機能はFacebookによって提供されており、この機能によって生じた損害に対してザ サイベースは一切の責任を負いません。

ABOUTこの記事を書いた人

数年前までバンド活動してました。ブログ、サイト運営で食べてます。フリーランス歴7年のWebクリエイター。飄々と生きています。これでも育児頑張ってます。長野市出身。埼玉県川越市在住。 【興味】音/Web/車(GolfV GTI等)/田舎/旅/酒 ※自然の音からデスメタルまで聴きます。 @tomicci 詳しいプロフィール 【運営サイト】 ザ サイベース おと風景