1

是否可以创建一个到根目录的相对路径,该路径在所有目录中都同样有效?

我在不同的目录级别上有一些文档,如果从其他目录加载,我的相对路径将变得无效。

因此,如果我使用相对路径将我的文本/html 存储在数据库中,它们根本无法在某些页面上运行。

相对路径示例:

../imgs/my_image.png

然后,如果我在开发网站时存储完整路径,每次我转向新方向或从本地主机到实际生产域时,所有嵌入的图像(来自 db 作为文本/html)也不起作用.

绝对路径示例:

127.0.0.1/imgs/my_image.png

所以问题是,是否可以不指定确切的主机名,比如......pseudocode: %root%/imgs/my_image.png或者其他一些解决它的方法?

(我的意思是,无需对这些路径进行额外的服务器处理,例如使用正则表达式替换路径,或创建额外的表格来存储我的图片,并且无需将所有页面移动到一个目录中,就像在 CMS 站点上使用相对路径时发生的那样。)

老实说,这让我很困扰,除了每次需要时对记录进行额外的处理和更新之外,我想不出任何别的办法。但我想贡献一些我偶然发现的东西。

尽管它在 Chrome 和 IE 等现代浏览器中确实有效,但我完全怀疑这是一个正确的代码。但是,如果我使用最高级别的 root 相对路径,它恰好也适用于较低级别。

例如,假设我们有一个这样的页面127.0.0.1/auth/profile/content/index.php,我们的图像路径是127.0.0.1/imgs/my_image.png,现在下面的代码也适用于较低级别的页面,例如 127.0.0.1/auth/prof.php,甚至在根页面本身127.0.0.1/index.php

../../../my_image.png

尽管从逻辑上讲,根文件夹中的页面上没有较低的级别。所以我也想知道更多关于它的正确或错误,以及我们是否应该在生产中使用它......

4

2 回答 2

2

要从该域下的任何页面指向网站的根目录,只需使用/

所以

http://www.example.com/pages/page.html->/pages/page.html

http://www.example.com->/

http://www.example.com/a/b/c/d/e/f.png->/a/b/c/d/e/f.png

于 2012-08-23T04:37:15.530 回答
1

只需使用/. 它工作得很好而且很明显。

例如,如果您想在 css 中使用图像并且images在应用程序的根目录中有一个名为的文件夹,那么您只需使用url(/images/image.png).

于 2012-08-23T04:38:21.327 回答