リンク元のページのURLを取得する方法を紹介します。

使いどころとしては、例えばページ内に「元のページへ戻る」リンクを設置する場合。
通常であれば javascript:history.back(); を使えばいいだけですが、もしユーザーが直接URLを打ち込んでアクセスしてきた場合や、元のページからのリンクが target="_blank" で指定されていて、新規ページで開いた場合、このリンクが無効になってしまいます。

そこで、確実にこのリンクを機能させて任意のURLへアクセスさせたい場合にこの方法が使えます。

基本的に『リンク元のURL』はPHPの $_SERVER["HTTP_REFERER"]; で取得できるので、このコードを利用して簡単なプログラムを作ってみます。

<?php
$ref = $_SERVER['HTTP_REFERER'];
if (isset($ref)) {
$ref = htmlspecialchars($ref); ?>
<p><a href="<?php echo "$ref"; ?>">元のページへ戻る</a></p>
<?php } else { ?>
<p><a href="https://on-ze.com">先頭のページに戻る</a></p>
<?php } ?>

これで、確実に元のページに戻ることができ、リンク元が不明の場合は指定したURLへのリンクを設置することができます。
ぜひ活用してください。