【问题标题】:Starting with a forward slash in html for "href"在 html 中以“href”的正斜杠开头
【发布时间】:2012-05-26 10:20:49
【问题描述】:

我最近开始学习 html,真正让我困惑的一件事是为什么有些链接在路径前有一个正斜杠(“/”)而有些链接没有?

即。

<link href="/favicon.png" rel="icon">
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css">

对比

<dt><a href="reset/index.html">Reset CSS</a></dt>

一个是相对路径,一个是绝对路径吗? href 是如何工作的?它只是在基本 url 之后的路径名上粘贴吗?

【问题讨论】:

  • 马克是正确的,但我想我会发布一些关于如何自己找到这些答案的信息,如果你真的喜欢看文档的话。 dev.w3.org/html5/spec/spec.html >> 点击一个元素 >> 点击 href 属性 >> 点击有效的 URL。这解释了 a 元素的 href 属性中的 URL。如果您真的很好奇tools.ietf.org/html/rfc3986,它也有指向 URL 标准的链接。 RFC 和 HTML 5 标准可以解决很多问题。它们也往往比在线博客等更准确,但绝对不那么容易阅读。

标签: html


【解决方案1】:

一个是相对路径,一个是绝对路径吗?

是的。

如果您的浏览器当前指向http://foo/bar/baz.html,则:

  • &lt;a href="reset/index.html"&gt; 将链接到 http://foo/bar/reset/index.html。
  • &lt;a href="/reset/index.html"&gt; 将链接到 http://foo/reset/index.html。

如果您的 HTML 文档的头部有 base element,那么相对路径将是相对于基础的。例如,无论页面位于何处,此处的链接都会将您带到http://example.com/foobar/reset/index.html。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
 <HEAD>
   <TITLE>Base element example</TITLE>
   <BASE href="http://example.com/foobar/">
 </HEAD>

 <BODY>
   <P><a href="reset/index.html">Reset CSS</a>
 </BODY>
</HTML>

【讨论】:

  • 添加base 示例会很有帮助。
  • 如果没有指定基数,默认基数是多少?
  • @buffer 是的。对于stackoverflow.com域的任意页面,/的URL与stackoverflow.com/相同。
  • canonical 如何适合这个主题?例如&lt;link rel="canonical" href="/wiki/HTML/Kopfdaten/meta" /&gt; 或 &lt;link rel="canonical" href="https://example.com/content.html"&gt;
  • 那么像https://foo.bar.org 这样的根 URL 又是怎样的呢?开头的/ 是翻译成https://foo.bar.org 还是https://bar.org?
猜你喜欢
  • 1970-01-01
  • 2016-09-28
  • 2020-12-19
  • 2016-05-21
  • 2020-05-19
  • 2015-02-03
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
相关资源
最近更新 更多