2011-09-07 72 views
4

可能重复:
URL Fragment and 302 redirectsPHP位置标头忽略哈希

我整合Facebook登录到我的网站。当Facebook重定向到我的网站的代码查询参数,则在最后一个哈希http://myurl.com/code=xxx#_=_ 当我再从这个URL重定向到我的网站上另一个网址:

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

它使哈希标签和结束作为http://myurl.com/home#_=_

有没有一种方法来重定向没有散列或如果有人熟悉Facebook的方式来让它停止添加散列在第一位?

+0

这是Facebook的问题后http://stackoverflow.com/questions/7131909/facebook-callback-appends-to -return-url – chris

回答

2

看来JavaScript是删除散列的唯一方法,因为散列从未以任何方式发送到服务器。所以我在一个空白页面上添加了一个脚本:

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

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

+1

你可以使用PHP的'header'来设置它,只需要包含hash:'header('Location:http://myurl.com/home#');'' – kasimir

2

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

PS - 我指定的redirect_uri和FB还是附加愚蠢#_=_字符串:/