我正在服务器上的〜/ 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指定一些绝对路径进行外部访问?
答案 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应为:
如果 - 在你的例子中 - 你只是将doc1.html从一个目录移动到同一级别的另一个目录,pic1.jpg的相对路径应该仍然有效。如果它不起作用,我的建议是检查新目录的权限 - 您的Web服务器是否具有对新目录的读取权限? OTOH,如果你移动到另一个级别的子目录(例如public_html / doc_old / really_old),你将不得不调整你的相对路径以包含子目录。对于我的例子,相对路径将变为: