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

时间:2010-02-01 13:55:45

标签: html

我正在服务器上的〜/ public_html下编写一个html文件。我想在html文件中引用〜/ public_html下的其他文件。我现在只知道如何通过html文件中的相对路径指定这些文件(如图片)的路径。但我想知道是否有办法指定绝对路径?因为有时我会在〜/ public_html下移动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 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

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

以下是关于HTML中绝对路径与相对路径的文章的link

修改:为响应您的更新,您pic1.jpg ../pic/pic1.jpg doc1.html doc1.html /doc/ pic pic1.jpg {1}},因此将一个目录向下移动到~/public_html/将会转到pic1.jpg。同样,由于您的文档根目录为/pic/pic1.jpg,因此您可以从任何html文件访问/pic ~public_html/pic/。 {{1}}将被解释为{{1}}。

答案 2 :(得分:1)

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

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

绝对网址:

相对网址:   - file1来自file1:file2.html   - file1 from file2:file1.html

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

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

根据更新后的问题进行修改:

图片文件的绝对URL应为:

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

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

  • ../../ PIC / pic1.jpg