在HTML中声明根目录的差异

时间:2013-03-12 09:37:49

标签: html document-root

这已经困扰了我很长时间,所以我需要问这个问题。

/./之间有什么区别,是否仅限于服务器设置?

例如,如果我们在根目录中查找images文件夹,我们会写:

<img src="/images">

但是,另一台服务器只接受如下:

<img src="./images">

这不是一个大问题,但在一个理想的世界里,我想我可以相对轻松地将我的网站转移到另一台服务器,而无需更新这些细节。

当然,我可以在PHP中声明它并在配置文件中设置一次,但它确实让我烦恼。为什么有两种声明根的方法?

3 个答案:

答案 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的服务器部分)。