【PHP】アクセスされたURLパスを確認する方法
【PHP】
アクセスされたURLパスを確認する方法
「PHP」を使って、
WebページにアクセスしたURLを取得することができます。
URL全体の取得や、
ドメイン名、ディレクトリとファイル名、クエリ情報など、
それぞれを取得できる定義済み変数もある。
URLによって、
PHPプログラムを振り分けるのに使用されるので、
プログラム内容によっては、使用頻度は高くなる。
「URL」関連の定義済み変数
「PHP」には、
URLを取り扱える「定義済み変数」が用意されている。
文字を取り扱う関数を使って、
URL内の文字などを抽出することもできるが、
用意されている「定義済み変数」を活用すれば、
ほとんどの操作は可能なので、
「定義済み変数」を使用するのは便利で助かる。
定義済み変数 | |
$_SERVER['HTTPS'] |
アクセスが「https」でのアクセスかを確認できる。
「https」でのアクセスであれば「on」が返され、
「https」でのアクセスでなければ「null(空白)」が返される。
|
$_SERVER['HTTP_HOST'] |
現在のドメイン部分 (◯◯◯.com)を抜き出すことができる定義関数
|
$_SERVER['PHP_SELF'] |
現在のドメイン以下のパス (/ディレクトリ名/ページ名.php)を抜き出すことができる定義関数
|
$_SERVER['REQUEST_URI'] |
現在のドメイン以下のパス
(/ディレクトリ名/ページ名.php?クエリ名=値&クエリ名=値&クエリ名=値)
を抜き出すことができる定義関数
|
$_SERVER['QUERY_STRING'] |
URLの「?」の後に続くクエリ情報 (クエリ名=値&クエリ名=値&クエリ名=値)
|
Back
サンプルコード
ページをリダイレクトさせたい時のコード
header("Location: https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}");
Back
URLを再編集して表示するためのコード
$Text_URL=<<<EOT
https://{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}?{$_SERVER['QUERY_STRING']}
EOT;
echo $Text_URL;
出力結果:
https://〇〇〇.com/ディレクトリ名/ファイル名.html?クエリ名=値&クエリ名=値&クエリ名=値
Back
Back