“/./”在href链接中的含义是什么?

时间:2013-11-06 16:45:41

标签: php html url path href

最近我正在阅读一些网页,我发现有很多用法,比如: href="/./foo/bar.php"

这与href="/foo/bar.php"不一样吗?或者这是否有一些我不知道的两种方式之间的差异?

1 个答案:

答案 0 :(得分:7)

相对网址/./foo/bar.php与相对网址/foo/bar.php不同。前者在开头有/.

但是,它们具有相同的效果。处理URL时,相对URL将解析为绝对URL,在此过程中,如果相对URL以/./开头,则会将其替换为/。参考:STD 66,第Remove Dot Segments条。 (这样的引用转而解析为相对于服务器根目录,基本上类似于http://www.example.com/foo/bar.php。)

因此,这两个相对URL 总是解析为相同的绝对URL。通常没有理由使用较长的URL,这看起来更复杂和令人困惑。

请注意,这与文件夹或文件完全无关。它只是基于URL标准的字符串操作。 URL是否映射到文件夹和文件是由服务器自行决定的,原则上对于其外部的世界是不可见的。