最近我正在阅读一些网页,我发现有很多用法,比如:
href="/./foo/bar.php"
这与href="/foo/bar.php"
不一样吗?或者这是否有一些我不知道的两种方式之间的差异?
答案 0 :(得分:7)
相对网址/./foo/bar.php
与相对网址/foo/bar.php
不同。前者在开头有/.
。
/./
开头,则会将其替换为/
。参考:STD 66,第Remove Dot Segments条。 (这样的引用转而解析为相对于服务器根目录,基本上类似于http://www.example.com/foo/bar.php
。)
因此,这两个相对URL 总是解析为相同的绝对URL。通常没有理由使用较长的URL,这看起来更复杂和令人困惑。
请注意,这与文件夹或文件完全无关。它只是基于URL标准的字符串操作。 URL是否映射到文件夹和文件是由服务器自行决定的,原则上对于其外部的世界是不可见的。