2012-08-22 57 views
3

我正在实施Facebook喜欢的按钮,并指定它喜欢的网址, 当我点击LIKE按钮,在Facebook中我看到了喜欢的正确页面,但是当我点击链接 链接是在代码中指定的,附加了一些奇怪的facebook查询字符串。Facebook的喜欢按钮添加查询字符串的网址

为exmpl: ,我喜欢的是 http://www.mydomain.com/path/to/the/page

当我在Facebook上喜欢的链接,点击后,链接是网页: http://www.mydomain.com/path/to/the/pagefb_action_ids = ##### & fb_action_types = 219]。喜欢& fb_source = timeline_og & action_object_map = { “###” %###} & action_type_map = { “###” %3A “og.likes”} & action_ref_map = []

和页面是ñ没有正确加载,这是一个Facebook故障?

回答

0

Facebook为URL添加了各种参数,以便您可以跟踪访问的来源等。它可能是您的页面不能使用这些参数,而不是facebook。理想情况下,如果你不需要它们,你的页面应该忽略这些参数。

+0

它不是,这些参数由Facebook的...为了从重定向l.php文件facbook – CaTz

+0

Facebook仍将这些网址添加到最终到达网址。所有OpenGraph操作都在URL中包含此信息,但它仅用于跟踪目的。修复您的网站/页面以忽略这些。 –

+0

这是不可能“忽略”这个查询弄乱所有网址/共享服务。如果您在xyz.com上有1000个喜欢,那么您在xyz.com/?test123上有0(!)个喜欢 – Sliq

1

使用社交插件的XFBML或HTML5版本,并在您的元标记这个

<meta property="og:url" content="...." /> 
+0

这解决了这个问题,以确保所有的喜欢都被统计为相同的URL,而不管查询字符串如何,但是我正在客户端的网站上工作,我无法控制,当追加查询字符串时,网站会失败。这意味着人们无法点击用户FB墙上的链接。如果有必要的话,能够删除查询字符串会很好。 – chris5marsh

+0

xfbml + metatag og:url解决问题。您在FB墙上的帖子仍然有查询字符串,但是当您点击您时,将重定向到元标记中指定的网址。如果您无法控制网页的内容,我认为您无法解决问题。 –

0

我通过定义URL在FB解决了这个问题:在OG像按钮以及:网址。

<fb:like href="http://www.yourwebsite.com/yourfullurl.html" send="true" layout="button_count" width="300" show_faces="false"></fb:like> 

现在无论从FB发送回来的参数是什么,它似乎都要遵守计数。

0

我们可以在.htaccess文件的帮助下删除/去除附加的查询字符串。 将在.htaccess文件下述代码:

RewriteCond %{QUERY_STRING} fb_action_ids=.*$ 
RewriteRule .* %{REQUEST_URI}? [R=301,L] 
RewriteCond %{QUERY_STRING} fb_comment_id=.*$ 
RewriteRule .* %{REQUEST_URI}? [R=301,L] 

这将这样的伎俩:)