【问题标题】:path question for creating html file under ~/public_html在 ~/public_html 下创建 html 文件的路径问题
【发布时间】:2010-02-01 13:55:44
【问题描述】:

我正在我们服务器上的 ~/public_html 下编写一个 html 文件。我想参考html文件中~/public_html下的其他文件。我现在只知道如何通过 html 文件中的相对路径指定这些文件(如图片)的路径。但我想知道是否有办法指定绝对路径?因为有时候我会把html文件移动到~/public_html下,所以html文件到这些文件的相对路径可能就不再存在了。

感谢和问候!


更新:

谢谢!我还是不太明白该怎么做。例如,

如果在 linux 服务器上,我有 ~/public_html/doc/doc1.html 和 ~/public_html/pic/pic1.jpg。我想参考doc1.html中的pic1.jpg。我可以写“../pic/pic1.jpg”。如何通过链接 www.xxx.xxx/~tim/doc/doc1.html 从外部访问 doc1.html 并正确加载图片。

但如果稍后我将 doc1.html 移动到 ~/public_html/doc_old/doc1.html,则从 doc1.html 到 pic1.jpg 的相对路径将不再存在。我只是想知道是否可以在doc1.html中为pic1.jpg指定一些绝对路径以供外部访问?

【问题讨论】:

    标签: html


    【解决方案1】:

    有两种不同的路径,你不应该混淆。

    在服务器上,文件位于~/public_html/something.html,但网络服务器使用~/public_html/ 目录作为文档根目录,因此文件发布在/something.html

    现在,当浏览器加载/something.html 路径时,它无法访问文档目录之外的内容,因此必须考虑绝对路径。如果路径现在指向~/public_html/something-else.html,浏览器会尝试在/~/public_html/something-else.html 找到它,或者只是尝试完全解释它,从而导致错误或对该文件的本地访问(在Linux 上,~将是一个有效的路径)

    【讨论】:

    • 谢谢,戳!我只是更新我的帖子以使我的问题更清楚。
    【解决方案2】:

    可以通过以正斜杠 (/) 开头的路径来指定绝对路径。这将允许您引用文档根目录下的文档。

    这是一篇关于 HTML 中绝对路径与相对路径的文章的link

    编辑:响应您的更新 - 您可以从 doc1.html 访问 pic1.jpg../pic/pic1.jpg 的原因是 doc1.html 位于 /doc/ 中,因此向上移动一个目录然后下到pic 将带你到pic1.jpg。同样,由于您的文档根是~/public_html/,您可以从任何html 文件以/pic/pic1.jpg 的身份访问pic1.jpg/pic 将被解释为~public_html/pic/

    【讨论】:

      【解决方案3】:

      这假设您在 Linux(或其他 Unix 变体)下运行 Apache,并在用户目录下启用了 public_html。

      如果您的用户帐户将 /home/user_name 作为其主目录,将 /home/user_name/public_html 作为您的 web 文件的顶级 web 目录,并且您尝试访问的文件名为 file1.html 和file2.html,那么您应该可以通过网络访问这些文件,类似于:

      绝对网址:

      相对网址: - 来自文件 1 的文件 2:file2.html - 来自文件 2 的文件 1:file1.html

      如果您涉及一个名为 dir1 的子目录,其中包含文件 file3.html,

      当然,在 html 文件中,您需要根据需要添加描述符文本。

      针对更新后的问题进行编辑:

      图片文件的绝对网址应该是:

      • www.xxx.xxx/~tim/pic/pic1.jpg

      如果 - 就像在您的示例中一样 - 您只需将 doc1.html 从一个目录移动到同一级别的另一个目录,则 pic1.jpg 的相对路径应该仍然有效。如果它不起作用,我的建议是检查新目录的权限 - 您的 Web 服务器是否对新目录具有读取权限? OTOH,如果您移动到另一个级别的子目录(例如 public_html/doc_old/really_old),您必须调整您的相对路径以包含子目录。对于我的示例,相对路径将变为:

      • ../../pic/pic1.jpg

      【讨论】:

      • 谢谢!我在问如何在file3中指定file1的绝对路径以供外部访问file3。请参阅我对原始帖子的更新。
      猜你喜欢
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 2013-07-14
      相关资源
      最近更新 更多