以'/'和'〜/'开头的路径有什么区别

问题描述 投票:1回答:1

我见过this question,但那是在回答其他问题。

今天,我遇到了一个奇怪的问题(至少对我而言)。问题是,我在我的网站上有这个代码...

<link rel="icon" type="image/png" sizes="16x16" href="~/img/TT_favicon_16px.png" />

几乎在网站的所有页面上都返回了favicon,但在网站的其中一个页面上没有。

我只是想象(无中生有)去掉波浪标志,它开始在网站上的所有页面上工作。

<link rel="icon" type="image/png" sizes="16x16" href="/img/TT_favicon_16px.png" />

这引起了我的好奇心,我想了解这两者之间有什么区别......

html .net href umbraco7 favicon
1个回答
1
投票

这是语境。

假设当前页面的URL是http://example.com/foo/bar.html

从斜杠开始的绝对路径链接(如/quux/grault.html)将替换整个路径,只留下服务器:http://example.com/quux/grault.html

相对路径链接,不是以斜杠开头,如fred/baz.html,将附加到路径的最后一个斜杠:http://example.com/foo/fred/baz.html

在HTTP及其解释方面,您的代字号并不特别。它不是一个完整的URL,并且它不是以斜杠开头,因此它是一个相对路径URL,在我们的示例中,您最终会得到以下URL:http://example.com/foo/~/img/TT_favicon_16px.png。当您删除波形符号时,它将成为绝对路径链接,您将获得http://example.com/~/img/TT_favicon_16px.png

当您访问这两个链接时,所提供的内容取决于您的Web服务器配置。我从来没有尝试像http://example.com/~/...http://example.com/foo/~/...这样的链接,但我怀疑它会起作用 - 大多数网络服务器都没有配置为对这样的URL做出任何明智的反应(实际上在我的计算机上我得到了404 Not Found)。为什么你得到一个回复​​没有检查你的web服务器的配置是不可能的。

© www.soinside.com 2019 - 2024. All rights reserved.