在PHP中获取跳转前的地址通常涉及到会话(Session)的使用。会话是一种服务器端的技术,用于存储特定用户会话所需的信息。
在PHP中,可以通过$_SERVER['HTTP_REFERER']
全局变量获取跳转前的地址。但需要注意的是,HTTP_REFERER
并不是总是可靠的,因为它可以被用户或浏览器禁用。
<?php
if (isset($_SERVER['HTTP_REFERER'])) {
$previous_url = $_SERVER['HTTP_REFERER'];
} else {
$previous_url = '来源未知';
}
echo "跳转前的地址是: " . $previous_url;
?>
HTTP_REFERER
为空原因:
Referer
头。meta
标签或JavaScript进行了重定向。解决方法:
<?php
session_start();
if (isset($_SERVER['HTTP_REFERER'])) {
$_SESSION['previous_url'] = $_SERVER['HTTP_REFERER'];
} elseif (isset($_SESSION['previous_url'])) {
$previous_url = $_SESSION['previous_url'];
} else {
$previous_url = '来源未知';
}
echo "跳转前的地址是: " . $previous_url;
?>
通过上述方法,可以有效地获取跳转前的地址,并处理可能出现的异常情况。
领取专属 10元无门槛券
手把手带您无忧上云