我注意到有些博客帖子在/中具有使用以href开头的值的链接。例如,

<a href="/somedir/somepage.html">My Page</a>


领先吗?

换句话说,如果站点URL是/,则有效的www.mysite.com值是href吗?

这是否接受惯例在所有浏览器中?

评论

您可能还会在某些链接中找到一个双斜杠URL //somedomain.com/somedir/,该URL使用与当前页面相同的协议stackoverflow.com/questions/4978235/…stackoverflow.com/questions/4831741/…

#1 楼

重要的是以/开头的URL,以便返回预期的URL,而不是返回其父级或子级。

比方说,如果您正在浏览/cream-cakes/,则页面上的链接中包含blah.html而没有正斜杠,则它将尝试访问/cream-cakes/blah.html页面,而带有正斜杠则假定您的意思是通常,最好以我的经验始终使用domain.com/blah.html,因为当您更改网站的结构时,它会更加友好,尽管假设目标是正确的,但没有对错页面被返回。

#2 楼


前导'/'表示路径从站点根开始吗?


从技术上讲,这在RFC 3986的4.2节中称为“绝对路径引用” :


以单个斜杠字符开头的相对引用被称为绝对路径引用。


它确保了path是根目录的绝对路径,而不是当前目录的绝对路径(称为“相对路径”引用)。对此进行扩展讨论,请参见。

评论


您可以解决浏览器对此类链接的支持吗?

–斯蒂芬·奥斯特米勒(Stephen Ostermiller)
2014年1月8日17:19

@Stephen至少从1998年以来,所有浏览器都曾制造过。

–心怀不满的山羊
2014年1月8日18:30

@DisgruntledGoat:可能早于此。实际上,我会大吃一惊,只说“所有浏览器”。该语法从一开始就是URL标准的一部分。

–伊尔马里·卡洛宁(Ilmari Karonen)
2014年1月10日在3:16



#3 楼

那是根相对链接。这是一个相对链接(类似于../),但它始于站点的根目录。如果网站上三级的页面以正斜杠开始链接,则路径的其余部分将相对于网站的根目录。

这种形式的路径的好处是字符数更少在标记中:

http://example.com/page.html

vs

/page.html

另一个优点是跨域更改的可移植性。例如,如果将example.com的内容移至example.org,则假设使用相同的目录命名/布局,则相对于根的链接仍将起作用。

与其他类型的路径-相对(../)和绝对路径(http://...)一样,当重命名文件或目录时,仍然需要更新链接,这特别有用。或移动。

评论


它还可以在域更改期间断开链接。例如,如果blog.example.org移至example.org/blog/。如果链接是https://blog.example.org/foo,则它们很容易重定向,但是/ foo链接引入了更多的重定向复杂性。

–伊恩·邓恩
20年8月4日15:52

#4 楼

本教程表明我的问题的答案是肯定的。

有效的href值的确是:www.mysite.com/somedir/somepage.html