【发布时间】:2015-04-01 21:46:44
【问题描述】:
我正在使用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 个人资料中,共享 URL 显示为
http://www.example.com/products/9-canonical-name?_escaped_fragment_=23
这是一个错误吗? (我希望共享 URL 按原样发布,即不是规范的 URL,并且没有任何转换。)
更新
经过更多调查,我意识到这与片段标识符没有任何关系。本质问题是Facebook在用户个人资料中发布的URL是og:url中的URL,而不是最初共享的URL。而且似乎无法更改(据我了解a related question)。
【问题讨论】:
-
URL 的哈希部分只对客户端有意义。 Facebook 怀疑您可能会针对不同的哈希值显示不同的内容 - 因此他们要求 Google 为此类情况发明的转义片段格式,以确保服务器可以提供正确的内容。
标签: facebook facebook-javascript-sdk facebook-opengraph canonical-link