2011-12-28 18 views
2

私はシングルページアプリケーションを作成しました。すべてのディープリンクはmysite.com/#!/entry_titleの形式です。これにより、Google(およびFacebook)はそのページのコンテンツの代替URLを確認できます。Facebookの共有は、ハッシュバージョンの代わりに_escaped_fragment_ URLを表示します

私は、GoogleまたはFacebookがこのページのHTMLスナップショットを探しているかどうかを判断するためにサーバー側のチェックをセットアップしました。そうであれば、必要なFacebookのogメタタグを含む別のヘッダを送信します。

ここに問題があります。ステータスボックスにURL(mysite.com/#!/entry_title)の1つを貼り付けると、表示されるURLはHTMLスナップショットのURL(mysite.com/?_escaped_fragment_/entry_title)です。

HTMLスナップショットページのog:urlメタタグは、mysite.com/#!/entry_titleに設定されています。

HTMLスナップショットの代わりにURLのmysite.com/#!/entry_titleバージョンをSharerに表示させるにはどうすればよいですか?

ありがとうございます!

  • ブレット

答えて

2

私はこれを考え出したと私は他の人のための答えを投稿しようと思いましたしました。

このトリックは、Google/FacebookのリダイレクトをよりきれいなURLに設定することです。だから、

mysite.com/?_escaped_fragment_/entry_title 

の形で任意のURLは、誰かが私の動的URLのいずれかを共有すると、Facebookはページの_escaped_fragment_バージョンを要求し、私にリダイレクトされます

mysite.com/view/entry_title 

のようなきれいなものにリダイレクトされますより美しいURL(mysite.com/view/entry_title)。これはFacebookの投稿に表示されるものです。

人々が常に私の動的URLを共有するようにするには、mysite.com/view/entry_titleページでjavascriptリダイレクトを設定してmysite.com/#!/entry_titleページにリダイレクトしてください。

Facebook共有の動的URLは表示されませんが、_escaped_fragment_バージョンよりもきれいなURLが表示され、人々が共有したい動的URLに強制的に戻ってきます。

+1

同じ問題が発生しました。私はまだ解決策がありません。しかし、あなたのソリューションは複雑すぎると思います。 –

関連する問題