SYNCERのロゴ
アイキャッチ画像

別ページにリダイレクトさせる方法

別ページにリダイレクト(移動)させるには、header()を利用します。直後にexitで処理を終了させることを忘れないで下さい。

サンプルコード

リダイレクトは、header()を利用します。事前に301のステータスコードを出力すれば、SEOで重要と言われる301リダイレクトになります。

<?php
	http_response_code( 301 ) ;

	header( "Location: https://syncer.jp/" ) ;
	exit ;

デモ

下記内容のredirect.phpにアクセスします。arrival.phpにリダイレクトされてしまうのを確認しましょう。

redirect.php

<?php
	// ステータスコードを出力
	http_response_code( 301 ) ;

	// リダイレクト
	header( "Location: ./arrival.php" ) ;
	exit ;

デモページを開く

備考

header()

header()は、生のHTTPヘッダーを出力する関数です。引数に、"Location: {パス}"を指定することで、ユーザーをそのパスにリダイレクト(移動)させます。パスはa要素のhref属性と同じように、絶対パス、相対パス、サーバー相対パスなどの形式で指定できます。

header( "Location: https://example.com/" ) ;

移動後の処理に注意

「リダイレクト後も処理が実行される」という性質にご注意下さい。例えば、次のプログラムを見て下さい。

<?php
	// リダイレクトを実行
	header( "Location: https://example.com" ) ;

	// ファイルを削除する
	unlink( "important.txt" ) ;

感覚的に「リダイレクトでユーザーが別ページに移動した後の処理は実行されない」と思うかもしれません。しかし、実際は実行されます。上記の例だとimportant.txtというファイルは削除されます。リダイレクト後に処理を継続したくない場合は、直後にexitで終了させなければいけません。

<?php
	// リダイレクトを実行
	header( "Location: https://example.com" ) ;
	exit ;

	// ファイルを削除する
	unlink( "important.txt" ) ;
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年6月22日 (木)
コンテンツを公開しました。