0

我使用以下代码重定向到 PHP 中的 URL:

header('Location: http://site.com/target.php');

如何获取重定向到目标的 URL?我试过这段代码,但它不工作:

echo $_SERVER["HTTP_REFERER"];

谢谢

4

5 回答 5

2

尝试这个:

<?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
于 2013-09-04T12:08:08.740 回答
0

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'];
于 2013-09-04T12:11:22.163 回答
0

您不能依赖REFERER标头,因为某些浏览器不会将其作为安全预防措施发送。

如果您需要知道他们最初请求的 URL,您可以将其作为LocationURL 中的查询参数传递。或者,您可以将其存储在服务器上的数据库中,并将密钥作为查询字符串的一部分传递到数据库中,或者类似地将其存储在服务器上的会话中,并将会话 ID 作为查询字符串的一部分传递。

如果您可以准确地解释您要做什么,您可能会得到更有用的答案。为什么你需要知道他们来自哪个地址,为什么需要重定向到不同的地址?另外,这两个地址是否在同一个网站上(即同一个域名)?

于 2013-09-04T12:11:51.087 回答
0
<?php echo $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'] ; ?>

这个链接真的会帮助你 $_SERVER

于 2013-09-04T13:24:46.010 回答
-1

每次访问页面时都会将其存储在 中$_SESSION,因此每当您需要上一页的值时,都可以轻松查看。

于 2013-09-04T12:14:48.860 回答