获取重定向页面的URL

时间:2014-06-25 14:05:14

标签: javascript redirect

我有一个页面,用户将通过301重定向发送到该页面。有没有办法获取通过javascript重定向它们的特定页面的URL?

编辑:我无法使用document.referrer,因为301重定向会保留或为空。

2 个答案:

答案 0 :(得分:2)

一些建议

如果您有权访问原始页面

  • 且目标网页来自同一个域,您可以设置Cookie
  • 来自同一台服务器,您可以设置会话变量并将其添加到301
  • 上的注释/隐藏字段中
  • 在任何一种情况下,您都可以在查询字符串中传递原始网址

答案 1 :(得分:0)

您将使用PHP

获取它
$_SERVER['HTTP_REFERER']

编辑:HTTP_REFERER参数似乎不适用于301重定向,所以我建议如果您拥有上一页,则通过GET参数传递前一个URL,或者如果您想隐藏参数,则使用PHP会话。

header('Location: http://example.com/?ref='.urlencode("http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"));

session_start();
$_SESSION['referer'] = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

然后用

检索数据
$_GET["ref"];

session_start();
$_SESSION['referer'];

这些是服务器端解决方案,但非常易于使用。

您可以在获取它们后立即将它们添加到您的JavaScript中:

<script>var referer = "<?php echo $_GET['ref']; ?>";</script>

EDIT2:只需使用javascript获取GET参数,因此您不需要PHP

相关问题