开放图谱可以解析相对URL吗?

124

我正在将Facebook开放图谱元标记添加到我的网站中。例如:

<meta property="og:image" content="../images/aa.jpg"/>

Open Graph是否支持相对URL?

如果不支持,那么在asp.net mvc3中如何将相对URL转换为绝对URL?是否有可用的函数来实现此功能?

3个回答

128

文档中没有相关说明,但相对URL将不起作用,只有包括协议的完整URL才有效。

只要支持完整URL,您可以使用URL.Content方法(如ASP.NET MVC中Page.ResolveUrl的等效方法是什么?中建议的那样)将相对URL转换为绝对URL。

注意:

由Unicode字符组成的字符串,形成一个拥有http或https协议的有效URL。


2
我在网站上设置了一个相对url的og:image标签,即使Facebook报告如下错误:

类型为“网站”的URL对象'http://***'无效,因为属性“og:image:url”的给定值“preview.png”无法解析为类型“url”。


但是在https://developers.facebook.com/tools/debug/og/object/上,图片出现在预览中。
所以我猜这在Facebook上是被支持的。

17
由于回退到网站上找到的最佳/第一张图片,它看起来像是有效的。 - Felipe Pereira
1
它可能“看起来”工作是因为:“没有这些Open Graph标签,Facebook爬虫使用内部启发式算法来猜测您内容的标题、描述和预览图像。”-来源:https://developers.facebook.com/docs/sharing/webmasters/ 所以,是的,在这种情况下,当它无法解析图像URL时,FB可能正在使用自己的备用机制。 - Gerard Bosch

-1
如果您想从控制器操作中设置og:url元节点的值,可以使用以下代码:

Request.Url.AbsoluteUri()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接