Facebook Connect アプリケーション (IFrame、外部 Web サイト) があります。
古い JavaScript API ( FB.Connect.streamPublish
) を使用してユーザーのウォールに投稿すると、多くの人がそうであるように、アクション リンクを指定します。
アクションリンクの JSON は次のとおりです。
[{ 'text':'Do something on my site', 'href':'http://www.mysite.com/somerestfulpath' }]
現在、私の Web サイトで URL 書き換えを使用しているため、URL はすべて適切で RESTful です (つまり、.ASPX はありません)。
現在、何らかの理由で、ユーザーのウォールに表示されるリンクは次のとおりです。
もちろん、これは 404'ing です。
すべての Facebook アプリ (私のものだけでなく) でこのように思われます。カスタム アクション リンクの場合、Facebook は自動的にref=nfを URL に追加します。
投稿の他の部分 (リンク、画像など) については、これを行いません。
したがって、私ができる唯一のことは、リンクを非 RESTful URL に変更することです。
http://www.mysite.com/pages/actualpagewhichidontwantuserstosee.aspx
次に、レンダリングします:
http://www.mysite.com/pages/actualpagewhichidontwantuserstosee.aspx?ref=nr
これは機能します。
しかし、WTF、なぜ彼らはこれをしているのですか? また、URL 書き換えを使用するアプリケーションに、これを提供しないというオプションを与えることはできないのでしょうか?
URL をすべてきれいに書き直したままにしておきたいと思っていました。
編集:
残念ながら、URL リライタの正規表現ルールが正しくありませんでした。燃えた。