【问题标题】:Why does this relative link work like an absolute link? [closed]为什么这个相对链接像绝对链接一样工作? [关闭]
【发布时间】:2013-04-30 09:46:00
【问题描述】:

在此页面http://www.english-attack.com/video-boosters中,包含一个链接,就在顶部的大图下方:

<a href="videobooster/promised-land/do-you-have-what-it-takes#comments">3 comments</a>

页面上没有 base 元素,并且 JavaScript 被禁用。

3 cmets 应该指向哪一个:

  1. http://www.english-attack.com/video-boosters/videobooster/promised-land/do-you-have-what-it-takes#comments
  2. http://www.english-attack.com/videobooster/promised-land/do-you-have-what-it-takes#comments
  3. http://www.english-attack.com/video-boostersvideobooster/promised-land/do-you-have-what-it-takes#comments

我会立即说选项 "1"。 这意味着我必须修复链接,因为我希望 "2" 在这里发生。但是,Chrome 和 Firefox 会很乐意打开选项 "2"。但是,Google 和 Bing 机器人将跟随链接 “1”

这里有什么问题?

【问题讨论】:

  • 无法保证不同的浏览器会实现什么,但有关相对 URL 应如何表现的标准文档位于:ietf.org/rfc/rfc1808.txt

标签: html browser hyperlink web-crawler


【解决方案1】:

包含链接的页面末尾没有/

链接是相对于http://www.english-attack.com/video-boosters 而不是http://www.english-attack.com/video-boosters/

最后一个/ 之后的所有内容都被删除,所以http://www.english-attack.com/videobooster/promised-land/do-you-have-what-it-takes#comments 是正确的。

the specification:

第 6 步:基本 URL 路径的最后一段(任何内容) 跟随最右边的斜杠“/”,如果没有,则跟随整个路径 斜杠存在)被删除并且嵌入的 URL 的路径是 附加在它的位置。

【讨论】:

  • 好的,现在可以理解了,这就是我在 90 年代从“about.html”链接到“index.html”的方式:-) 但这意味着机器人有问题。
  • Quentin,这是有道理的,但您在其他评论中说 浏览器和搜索引擎正在根据规范正确解析 URL。为什么浏览器和机器人实现之间存在差异?机器人跟踪这些路径是不是错了?
  • @GabrielR。 - 呃。没有区别。你说他们都使用了选项 2。
  • 啊,我犯了一个愚蠢的错误,现在更正为«但是,Google 和 Bing 机器人将跟随链接“1”。»
  • 这是机器人中的一个错误。您确定它们真的是 Google 和 Bing,而不是冒充 Google 和 Bing 的垃圾邮件程序吗?
猜你喜欢
  • 2010-10-07
  • 1970-01-01
  • 2012-04-02
  • 2010-09-25
  • 2015-12-04
  • 2015-01-13
  • 1970-01-01
  • 2013-10-10
  • 2019-04-04
相关资源
最近更新 更多