【PHP】「アクセスしたページ」から「特定ページ」に「リダイレクト」させる方法
【PHP】
「アクセスしたページ」から「特定ページ」に
「リダイレクト」させる方法
はじめに
「PHP」では、
「アクセス」してきた「訪問者」を、
「異なるページ」へと「移動」させる
「リダイレクト」ができる「関数」が用意されている。
「PHP」では、
リダイレクトに使用できるのは、
「header」関数。
Back
「リダイレクト」とは
「リダイレクト」とは、
「アクセスされたページ」から「異なるページ」へと、
「プログラム」を使用して「移動」させることをいう。
「PHP」では、
「header」関数を利用して、
「リダイレクト」を行うことができる。
Back
「リダイレクト」させる「サンプルコード」
URLを入力するサンプルコード
<?php
header("Location: http://SampleDomain.com/");
?>
変数でURL指定するサンプルコード
<?php
$URL_Redirect = 'http://SampleDomain.com/';
header("Location: {$URL_Redirect}");
header("Location: ".$URL_Redirect);
?>
Back
「HTML」コードに「埋め込む」には「出力」前に記述する
「PHP」のリダイレクト関数「header」は、
アクセスした「ページ」で、
「HTMLコード」の中で、
「header」関数の記述前に、
何かしらの「出力」がされると、
「リダイレクト」ができなくなる。
「リダイレクト」させたい場合は、
「WEBページ」の「HTMLコード」において、
・「html」タグの前
・「head」タグの中で、「Title」タグなどの出力する前
のいずれかに記述すると良い。
「文字」が「1文字」でも「出力」されると、
「他のページ」への「リダイレクト」は、
できないようになっているらしい。
「リダイレクト」ができない時は、
確認してみると良い。
「htmlコードファイル」での「記述位置」
<?php
header("Location: http://SampleDomain.com/");
?>
<html>
<head>
・
・
・
もしくは、
<html>
<head>
<?php
$URL_Redirect = 'http://SampleDomain.com/';
header("Location: {$URL_Redirect}");
header("Location: ".$URL_Redirect);
?>
<title>WEBページのタイトル名</title>
・
・
</head>
<body>
・
表示されるWEBページの内容
・
</body>
</html>
Back
うまくリダイレクトできないときの対処法
「PHP」での「リダイレクト」は、
条件が揃っていないと、
「header」関数の記述が正しくても、
「リダイレクト(header関数)」が機能しないことがある。
うまくリダイレクトしないときの原因
・「リダイレクト先のページ」がない
・「リダイレクト」が機能していない
・「header」関数の前に、出力されるプログラムがある
・「アドレス」の入力ミス
・「header」関数の書式が間違っている
Back