別ページにリダイレクトさせる方法
別ページにリダイレクト(移動)させるには、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" ) ;
関連記事
- ステータスコードを出力する方法
- ステータスコードを出力するには、http_response_code()やheader()を利用します。
- ディレクトリのファイルを一覧で取得する方法
- ディレクトリ内にある全ファイルを取得するには、whileとreaddir()を組み合わせます。
- 四捨五入、切り捨て、切り上げをする方法
- 切り捨てはfloor()、切り上げはceil()、四捨五入はround()の関数を利用します。
- CMYをCMYKに変換する方法
- カラーコードをCMYからCMYKに変換します。
- 配列から要素をランダムで取得する方法
- 配列から要素をランダムで取得するには、array_rand()を利用します。