2011-12-28 25 views
2

我創建了一個單頁面應用程序。所有深層鏈接都以mysite.com/#!/entry_title的形式。這允許Google(和Facebook)檢查該頁面內容的備用URL。Facebook共享顯示_escaped_fragment_ URL而不是散列版本

我設置一個服務器端的檢查,以確定谷歌或Facebook正在尋找該頁面的HTML快照。如果是這樣,它會發送一個包含必要Facebook和Meta標籤的不同標題。

這是問題所在。如果我將其中一個URL(mysite.com/#!/entry_title)粘貼到我的狀態框中,則顯示的URL是HTML快照URL(mysite.com/?_escaped_fragment_/entry_title)。

的OG:HTML快照頁面上的URL meta標籤設置爲mysite.com/#!/entry_title。

我怎樣才能讓共享器顯示的URL,而不是HTML快照版本的mysite.com/#!/entry_title版本?

在此先感謝!

  • 佈雷特

回答

2

我已經想通了這一點,我想我會發布對他人的答案。

訣竅是爲Google/Facebook設置一個重定向到一個更漂亮的URL。所以在

mysite.com/?_escaped_fragment_/entry_title 

形式的任何網址被重定向到一些漂亮像

mysite.com/view/entry_title 

有人分享我的動態網址之一,Facebook的請求頁面的_escaped_fragment_版本,被重定向到我的更漂亮的網址(mysite.com/view/entry_title),這就是Facebook帖子中顯示的內容。

爲了確保人們總是分享我的動態網址我設置一個JavaScript的網頁mysite.com/view/entry_title重定向到重定向回mysite.com/#!/entry_title頁面。

雖然這不會顯示Facebook共享中的動態網址,但會顯示比_escaped_fragment_版本更漂亮的網址,並強制用戶回到我希望人們分享的動態網址。

+1

我也遇到了同樣的問題。我仍然沒有解決辦法。但我認爲你的解決方案太複雜了。 – 2013-02-21 11:19:04

相關問題