这已经困扰了我很长时间,所以我需要问这个问题。
/
和./
之间有什么区别,是否仅限于服务器设置?
例如,如果我们在根目录中查找images文件夹,我们会写:
<img src="/images">
但是,另一台服务器只接受如下:
<img src="./images">
这不是一个大问题,但在一个理想的世界里,我想我可以相对轻松地将我的网站转移到另一台服务器,而无需更新这些细节。
当然,我可以在PHP中声明它并在配置文件中设置一次,但它确实让我烦恼。为什么有两种声明根的方法?
答案 0 :(得分:13)
要引用相对于当前页面的文件,您可以在没有前缀的情况下明确地编写路径,也可以通过添加前缀./
来明确说明。要访问包含相对于网站根目录的路径的文件,请在路径前加/
。
/
绝对路径(从根目录到资源的完整路径)
当前目录的./
相对路径(等于未指定任何文件夹前缀)
来自父目录的../
相对路径
来自父母的父母的../../
相对路径
Current URL Resource path Resolves to
/pages/home.html ./picture.jpg /pages/picture.jpg
/pages/home.html ../img/picture.jpg /img/picture.jpg
/pages/about/home.html /img/picture.jpg /img/picture.jpg
/pages/about/home.html img/picture.jpg /pages/about/img/picture.jpg
/home.html img/picture.jpg /img/picture.jpg
答案 1 :(得分:1)
只有当源页面(包含此HTML的页面)本身位于域的根目录时才会这样。
在一般情况下,./images
相当于images
。
答案 2 :(得分:0)
这与HTML无关,除了在HTML中使用URL这一事实。这在URL规范中定义。简而言之,。/是相对于当前基本URL,和/是相对于服务器根目录(从技术上讲,它指的是基本URL的服务器部分)。