【问题标题】:why absolute path omits http protocol?为什么绝对路径省略http协议?
【发布时间】:2019-04-13 11:31:55
【问题描述】:

我知道这是一个愚蠢的问题,但我在谷歌上找不到答案。

我想明确使用<link href="https://example.com/xyz" rel="canonical" />,但不知何故,浏览器总是显示<link href="//example.com/xyz" rel="canonical" /> 而没有https 协议。 为了规范,我必须使用带有https协议的路径。

其他内容,如

<meta property="og:url" content="https://example.com/xyz">

仍然显示正确的路径。

不确定 IIS 是否对此有所保留。有人有什么想法吗?

【问题讨论】:

  • 我不确定你为什么认为是浏览器这样做。创建代码的不是浏览器,它只是解析从服务器获取的代码。而是显示服务器端部分的外观,因为我确信这就是问题所在。
  • 使用像 Fiddler 这样的工具来捕获网络上的数据包。这应该告诉谁提供文本。
  • 我无法重现此内容。您能否提供更多有关您如何编写link 标签的背景信息?这是在 Razor 视图中吗?您是否以某种方式动态创建 URL?您能否检查该动态创建是否生成正确的绝对 URL?
  • @LGSon 我不明白你为什么解释说 OP 认为浏览器会这样做。由于这也被标记为 ASP.NET Core,我高度假设 OP 完全意识到这将是由服务器引起的……
  • @poke 我像 OP 所写的那样解释它,在下面的评论中,“我只是不能强制浏览器停止省略 https,...”

标签: iis asp.net-core


【解决方案1】:

当使用绝对路径时,使用当前协议。

【讨论】:

  • 谢谢,但也许你不明白我的问题。我只是不能强迫浏览器停止省略 https,对于 SEO 规范,链接必须显示 https,而不仅仅是 // 否则谷歌会抱怨。
猜你喜欢
  • 1970-01-01
  • 2018-01-09
  • 2019-02-20
  • 1970-01-01
  • 2018-04-11
  • 1970-01-01
  • 1970-01-01
  • 2020-11-16
  • 2017-08-15
相关资源
最近更新 更多