【问题标题】:The correct way to path files/images/links on html在 html 上路径文件/图像/链接的正确方法
【发布时间】:2021-03-06 10:42:55
【问题描述】:

这似乎是一个非常初学者的问题,但在完成我的整个网站后,我发现路径文件/图像和链接的结构存在“错误”。

好吧,首先让我告诉你确切的结构是什么:

网站位于:/var/www
主页文件位于主网站文件夹中:/www
CSS 文件位于/www/styles/
/www/js/上的 JS 文件
/www/images/上的图片

我一直在用这个当前目​​录写我的文件/图像路径:

JS:<script src="js/scripts.js"></script>
图片:<img src="images/img.jpg">
链接:如果我用 get 参数指向同一个文件,我只是写了:<a href="?parameter=test">
其他文件的链接:<a href="otherFile.php">

好吧,就像我说的,一段时间后我发现了一个“错误”。如果我将 / 放在 .php 链接之后,例如:example.com/test.php/,我所有的图像/js/css 文件都会中断,并且所有 href 链接都变为:example.com/test.php/linkpage.php instaed of example.com/linkpage.php

所以,我现在必须更改我所有的图像/文件和链接以“/”开头,以避免此错误,例如:

<a href="/linktopage.php">

这似乎解决了问题,但它是正确解决这些问题的方法吗? 感谢您的帮助,谢谢。

【问题讨论】:

  • 之前显示的错误是什么?

标签: php html


【解决方案1】:

在链接前使用 / 喜欢: /其他文件.php /images/img.jpg

这个“/”从 www 加载

而且你的工作是正确的

【讨论】:

    【解决方案2】:
    1. 绝对路径以斜杠开头的根文件夹 (DocumentRoot = /var/www)

      驱动器上的文件:/var/www/mainfolder/subfolder/somepage.php

      &lt;a href="/mainfolder/subfolder/somepage.php"&gt;

    2. 相对路径从您所在的文件夹开始,因此,例如,如果您有脚本,其中 url 在 mainfolder - http://domain.tld/mainfolder/myscript.php 中,并且想要链接相同的使用 URL,不带斜线和相对路径:

      &lt;a href="subfolder/linktopage.php"&gt;

    3. 最后你还可以生成包含域名的完全绝对链接

      &lt;a href="http://domain.tld/mainfolder/myscript.php"&gt;

    总结

    1. 这是链接其他页面或资源(如 JS、CSS 和图像)的最佳方式。这样可以确保您在文件结构发生变化时不需要修复代码,例如,当您将包含文件移动到子文件夹时。

    2. 相对路径在编写过程中很简单,但在需要更改结构时有一些缺点。更少的好处。

    3. 完全绝对 URL 是一个不错的选择,特别是对于将被某些搜索引擎索引的资源,例如页面或公共图像,但是在这种情况下,您应该像 $domain.'/some/asset.jpg' 这样以编程方式构建这些 URL,否则您需要手动替换字符串每次,当域发生变化时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 2015-08-07
      • 2021-05-28
      • 2019-10-08
      • 2017-01-07
      • 2014-01-09
      • 2019-05-22
      相关资源
      最近更新 更多