4

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

这不是一样href="/foo/bar.php"吗?还是我不知道这两种方式之间的区别?

4

1 回答 1

8

相对 URL/./foo/bar.php与相对 URL 不同/foo/bar.php。前者/.一开始就有。

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

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

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

于 2013-11-06T17:22:32.553 回答