【问题标题】:Redirect to another page without using 3xx Redirect Codes不使用 3xx 重定向代码重定向到另一个页面
【发布时间】:2012-11-02 00:41:58
【问题描述】:

我正在尝试将用户重定向到另一个页面,但是,我需要Referer 标头来表明存在重定向。换句话说,如果用户从 SiteA 开始,然后转到 SiteB,该站点重定向到 SiteC,我需要 Referer 标头来表明用户在到达 SiteC 时来自 SiteB。

大多数浏览器在遇到 3xx(301、307 等)重定向代码时不会更改 Referer 标头,因此我无法使用它。所以我想知道完成我需要的最好方法是什么?我可以使用 HTML、PHP 和必要的 JavaScript。

谢谢, 哈利

附:我已经完成了足够多的 HTML、PHP 和 JavaScript 编码,但还不足以知道这个问题的答案。

【问题讨论】:

  • 你试过Location: http://sitec.com/?via=siteb吗?然后,您可以检查 via 请求参数,不仅可以找出引荐来源网址,还可以找出它经过的主机。
  • 也许这可以通过 http-equiv 重定向来实现? example.com'">我不太确定。
  • 201 Created 允许您指定 Location HTTP 标头。不过,我从未检查过浏览器如何对待Referer。

标签: php javascript html redirect http-status-codes


【解决方案1】:

如果我错了,请纠正我,但 3xx 状态代码是告诉浏览器页面已移动,并且他们将在新 url 处再次请求页面。所以对于浏览器来说,当前页面没有改变,因此引用者将保持不变。

在页面加载期间使用类似 location=url 的 javascript 来重定向页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 2016-06-10
    • 2017-04-03
    • 2016-12-19
    相关资源
    最近更新 更多