PHP位置标头忽略哈希

时间:2011-09-07 18:39:11

标签: php header facebook location

  

可能重复:
  URL Fragment and 302 redirects

我正在将Facebook登录整合到我的网站中。当Facebook使用代码查询参数重定向到我的网站时,最后有一个哈希http://myurl.com/code=xxx#_=_ 然后,当我从此网址重定向到我的网站上的另一个网址时:

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

它保留哈希标记并最终为http://myurl.com/home#_=_

有没有办法在没有哈希值的情况下重定向,或者是否有人熟悉Facebook,以便让它首先停止添加哈希值?

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

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

这是现在的答案,但我会接受更好的答案。