代码之家  ›  专栏  ›  技术社区  ›  Tim unnamed eng

在~/public_html下创建html文件的路径问题

  •  1
  • Tim unnamed eng  · 技术社区  · 15 年前

    我正在服务器上的~/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指定一些外部访问的绝对路径?

    3 回复  |  直到 15 年前
        1
  •  1
  •   danben    15 年前

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

    这里是一个 link 关于HTML中绝对路径和相对路径的文章。

    编辑 :响应您的更新-您可以访问的原因 pic1.jpg 作为 ../pic/pic1.jpg doc1.html 那是 DOC1.HTML 住在 /doc/ ,所以向上移动一个目录,然后向下移动到 pic 会带你去 PIC1.JPG . 同样,因为您的文档根目录是 ~/public_html/ ,您可以访问 PIC1.JPG 作为 /pic/pic1.jpg 从任何HTML文件。 /pic 将被解释为 ~public_html/pic/ .

        2
  •  2
  •   poke    15 年前

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

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

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

        3
  •  1
  •   GreenMatt    15 年前

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

    如果您的用户帐户的主目录为/home/user_name,Web文件的顶级Web目录为/home/user_name/public_html,并且您尝试访问的文件名为file1.html和file2.html,那么您应该能够通过Web访问这些文件,方法类似于:

    绝对URL:

    相对URL: -文件2来自文件1:file2.html -文件1来自文件2:file1.html

    如果您涉及名为dir1、文件file3.html的子目录,

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

    根据更新的问题进行编辑:

    图片文件的绝对URL应为:

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

    如果您只需在同一级别将doc1.html从一个目录移动到另一个目录,那么pic1.jpg的相对路径仍然可以工作。如果它不起作用,我的建议是检查新目录的权限-您的Web服务器对新目录有读取权限吗?但是,如果您移动到另一个级别的子目录(例如public-html/doc-old/really-old),则必须调整相对路径以包含子目录。例如,相对路径将变为:

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