【问题标题】:Root path links in htmlhtml中的根路径链接
【发布时间】:2012-08-18 13:34:38
【问题描述】:

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

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

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

相对路径示例:

../imgs/my_image.png

然后,如果我在开发网站时存储完整路径,每次我从 localhost 转向新方向或实际生产域时,所有嵌入的图像(来自 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

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

【问题讨论】:

  • 对于 html 级别的内容,您可以使用 <base> 指定文档级别的根目录。

标签: html url path


【解决方案1】:

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

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

【讨论】:

    【解决方案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

    【讨论】:

    • 该死,它有效 :-) 我从来没有想过,我认为/ 代表./ - 当前目录,但不是根目录。
    • 不!请注意不要在服务器端代码上这样做。根据上下文,它可能被解释为文件系统的根
    • 我还有计时器,我当然会做。是的,这正是我的想法,因为在 PHP 中它确实代表 ./,我猜...
    猜你喜欢
    • 1970-01-01
    • 2011-08-08
    • 1970-01-01
    • 2016-04-08
    • 2019-10-08
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 2013-12-24
    相关资源
    最近更新 更多