我使用以下代码重定向到 PHP 中的 URL:
header('Location: http://site.com/target.php');
如何获取重定向到目标的 URL?我试过这段代码,但它不工作:
echo $_SERVER["HTTP_REFERER"];
谢谢
尝试这个:
<?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
Sumit 的代码为您提供了当前 URL,您可以使用 session 使用它:
$current_url="http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$_SESSION['url']=$current_url;
header('Location: http://site.com/target.php');
获取页面上的 URL:
echo $_SESSION['url'];
您不能依赖REFERER
标头,因为某些浏览器不会将其作为安全预防措施发送。
如果您需要知道他们最初请求的 URL,您可以将其作为Location
URL 中的查询参数传递。或者,您可以将其存储在服务器上的数据库中,并将密钥作为查询字符串的一部分传递到数据库中,或者类似地将其存储在服务器上的会话中,并将会话 ID 作为查询字符串的一部分传递。
如果您可以准确地解释您要做什么,您可能会得到更有用的答案。为什么你需要知道他们来自哪个地址,为什么需要重定向到不同的地址?另外,这两个地址是否在同一个网站上(即同一个域名)?
<?php echo $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'] ; ?>
这个链接真的会帮助你 $_SERVER
每次访问页面时都会将其存储在 中$_SESSION
,因此每当您需要上一页的值时,都可以轻松查看。