2011-09-07 57 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還是附加愚蠢#_=_字符串:/