5

如下所示将规范链接设置为井号符号是否合法,或者我是否需要输入物理页面名称?

<link rel="canonical" href="#">

对此进行测试时,磅设置不会产生验证错误(ala #development=1)。在我的场景中,使用此布局文件的页面不会有备用的“常规 HTML”版本。唯一的版本是 AMP HTML 版本。

对于其他上下文,我正在尝试使用 AMP HTML 的 MVC 站点。为了使我的布局文件简单,我更喜欢使用井号而不是提取子页面名称并将其应用于 href 属性。我知道如何通过如下代码将 URL 应用于部分视图:

<link rel="canonical" href="@HttpContext.Current.Request.Url.AbsoluteUri">

我只是好奇使用磅符号是否是合法的 AMP HTML。谢谢你。

4

2 回答 2

7

文档中:

必需的标记

AMP HTML 文档必须

  • 在其头部包含一个<link rel="canonical" href="$SOME_URL" />标签,该标签指向 AMP HTML 文档的常规 HTML 版本,如果不存在此类 HTML 版本,则指向其自身

href="#"因此,为了与 AMP 规范保持一致,您应该让它指向自身,而不是使用。

于 2015-11-02T21:05:19.353 回答
2

验证正在发展,验证器今天并没有捕捉到所有问题。使用“#”或任何相对 URL 的问题是,当此文档在其他地方(例如 cdn.ampproject.org)提供时,该相对 URL 将不再指向您预期的规范。您应该改用绝对 URL <link rel=canonical href="URL">

于 2016-02-14T21:00:51.233 回答