ホームページからWebサイト上の他のURIをライトボックス(AJAX)に開くWebサイトを構築しています。状態の変化を管理するためのフォールバックとして、HTML5プッシュ状態とハッシュバングを使用したいと思います。
今、私はURLをクロール可能にし、Facebookで共有可能/好感を持たせたいと思っています。
ユーザーブラウザがHTML5プッシュ状態をサポートしている場合、問題ありません。URLを共有でき(例http://myserver/example
:)、Facebookは静的コンテンツで適切なOGメタを見つけます。
ただし、ユーザーがHTML4ブラウザーを使用している場合は、のようなURLになりますhttp://myserver/#!/example
。とにかく彼にFacebookで共有してもらいたい...
これで、Facebookは_escaped_fragment_置換メソッドをサポートしているように見えます。そのため、リクエストをからhttp://myserver/?_escaped_fragment_=/example
にリダイレクトするだけhttp://myserver/example
で、誰もが満足するはずです…</ p>
だから私は私のhtaccessに書き換え条件を追加しました:
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=([^&]*)
RewriteRule .* http://%{HTTP_HOST}/%1? [R=301,L,NE]
私の問題は、Facebookで動作させることができないことです。Facebookのリンターでは、ハッシュバンの後のURLの一部が常にパーセントエスケープ
http://myserver/%2Fexample
され、404に到達するようなURLになります:-(
FacebookをだましてURLのこの部分をエスケープしないようにする方法を知っている人はいますか?apache mod_rewrite側で何かを行うことはできますか?
私は他の有効なajaxクロール可能/好感の持てるURL戦略にもオープンです;)