5

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

/和 和有什么区别./,是否仅取决于服务器设置?

例如,如果我们在根目录中寻找图像文件夹,我们会这样写:

<img src="/images">

但是,另一台服务器将只接受它,如下所示:

<img src="./images">

这不是什么大问题,但在一个理想的世界里,我想我可以相对容易地将我的网站转移到另一台服务器上,而不必更新这些小细节。

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

4

3 回答 3

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
于 2013-03-12T09:38:37.670 回答
1

仅当源页面(包含此 HTML 的页面)本身位于域的根时,这才是相同的。

一般情况下,./images等价于images

于 2013-03-12T09:38:41.780 回答
0

这与 HTML 无关,除了 URL 也用于 HTML 的事实。这是在 URL 规范中定义的。简而言之,./ 是相对于当前的基本 URL,而 / 是相对于服务器根目录(从技术上讲,它指的是基本 URL 的服务器部分)。

于 2013-03-12T10:30:42.273 回答