我有一个 Facebook Connect 应用程序(IFrame、外部网站)。
当我使用旧的 JavaScript API FB.Connect.streamPublish
(
这是我的操作链接的 JSON:
[{ 'text':'Do something on my site', 'href':'http://www.mysite.com/somerestfulpath' }]
现在,我们在我的网站上使用 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 重写器的正则表达式规则不正确。烧伤。