【问题标题】:PHP Location Header Ignore Hash [duplicate]PHP位置标题忽略哈希[重复]
【发布时间】:2011-11-12 10:09:18
【问题描述】:

可能重复:
URL Fragment and 302 redirects

我正在将 Facebook 登录集成到我的网站中。当 Facebook 使用 code 查询参数重定向到我的站点时,末尾有一个哈希 http://myurl.com/code=xxx#_=_ 然后当我从这个网址重定向到我网站上的另一个网址时:

header('Location: http://myurl.com/home');

它保留哈希标签并以http://myurl.com/home#_=_结尾

有没有办法在没有哈希的情况下进行重定向,或者如果有人熟悉 Facebook,有没有办法让它首先停止添加哈希?

【问题讨论】:

标签: php header facebook location


【解决方案1】:

您可以在服务器端将 PHP 重定向到包含其自己的哈希的 URL。这就是我必须做的一个使用主干.js 的 ruby​​ 应用程序。

PS - 我指定了 redirect_uri 并且 FB 仍然附加了愚蠢的 #_=_ 字符串:/

【讨论】:

    【解决方案2】:

    似乎 JavaScript 是删除哈希的唯一方法,因为哈希永远不会以任何方式发送到服务器。所以我在空白页中添加了一个脚本:

    window.location.hash = '';  window.location.href = "http://myurl.com"
    

    这是目前的答案,但我会接受更好的答案。

    【讨论】:

    • 您可以使用 PHP 设置它header,只需包含哈希:header('Location: http://myurl.com/home#');
    猜你喜欢
    • 2023-03-03
    • 2016-01-10
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    相关资源
    最近更新 更多