为什么带有片段标识符(#)的非规范URL与`_escaped_fragment_`查询参数共享?

时间:2015-04-01 21:46:45

标签: facebook facebook-javascript-sdk facebook-opengraph canonical-link

我使用Facebook's Share Dialog分享像......

这样的网址

http://www.example.com/products/9-some-name#!23

在该页面的HTML中,将不同的URL(也包含片段标识符)指定为规范URL,例如

<link rel="canonical" href="http://www.example.com/products/9-canonical-name#!23">
<meta property="og:url" content="http://www.example.com/products/9-canonical-name#!23">

在我的Facebook个人资料中,共享网址显示为

http://www.example.com/products/9-canonical-name?_escaped_fragment_=23

这是一个错误吗? (我希望共享的URL按原样发布,即不是规范的,没有任何转换。)

更新

经过更多调查后,我意识到这与片段标识符没有任何关系。基本问题是Facebook在用户的个人资料中发布的URL是og:url中的URL,而不是最初共享的URL。而且似乎无法改变(据我所知a related question)。

1 个答案:

答案 0 :(得分:1)

根据在Facebook上分享最佳做法的文档,og:url应该是没有会话ID或无关​​参数的URL。 Facebook上的所有股票都将使用og:url作为识别网址。

developers.facebook.com/docs/sharing/best-practices#tags