我使用以下代码重定向到 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');
获取页面上的网址:
echo $_SESSION['url'];
您不能依赖 REFERER
标头,因为某些浏览器不会将其作为安全预防措施发送。
如果您需要知道他们最初请求的 URL,则可以将其作为查询参数传递到Location
URL。或者,您可以将其存储在服务器上的数据库中,并将密钥作为查询字符串的一部分传递到数据库中,或者类似地将其存储在服务器上的会话中,并将会话 ID 作为查询字符串的一部分传递。
如果你能解释你到底想做什么,你可能会得到一个更有用的答案。为什么您需要知道它们来自哪个地址,为什么需要重定向到其他地址?另外,这两个地址是否在同一网站上(即相同的域名)?
<?php echo $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'] ; ?>
此链接将真正帮助您$_SERVER
每次您访问页面存储时,$_SESSION
,因此每当您需要上一页的值时,您都可以轻松查看它。