2010-02-01 31 views
1

我在我們的服務器上的〜/ public_html下面寫了一個html文件。我想參考html文件中〜/ public_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指定一些絕對路徑來進行外部訪問?

回答

1

絕對路徑可以通過以正斜槓開始路徑來指定(/)。這將允許您引用文檔根目錄下的文檔。

這是一個link到關於HTML中絕對路徑和相對路徑的文章。

編輯:響應您的更新 - 你可以從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/

2

有兩種不同的路徑,你不應該混淆。

在文件位於~/public_html/something.html服務器,但Web服務器使用~/public_html/目錄文檔根目錄,因此該文件是在/something.html公佈。

現在,當瀏覽器加載/something.html路徑時,它無法訪問文檔目錄之外的東西,因此絕對路徑必須考慮這一點。如果一個路徑現在指向~/public_html/something-else.html,那麼瀏覽器會嘗試在/~/public_html/something-else.html上找到它,或者試圖完全解釋它,導致錯誤或本地訪問該文件(在Linux上,其中~將是有效的路徑)

+0

謝謝你,捅!我只是更新我的帖子,使我的問題更清楚。 – Tim 2010-02-01 14:49:30

1

這假設你在Linux(或其他Unix版本)下運行Apache,並在啓用用戶目錄的情況下使用public_html。

如果您的用戶帳戶具有/ home/user_name作爲其主目錄,並且/ home/user_name/public_html作爲您的Web文件的頂級Web目錄,並且您嘗試訪問的文件名爲file1.html和file2。HTML,那麼你應該能夠訪問通過網絡將這些文件與類似於:

絕對網址:

相對網址: - file2 from file1:file2.html - file1 from file2:file1.html

如果你涉及一個子目錄,名爲DIR1,與文件file3.html,

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

編輯迴應更新的問題:

的絕對URL的圖片文件應該是:

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

如果 - 如您的示例 - 只需將doc1.html從同一級別的doc1.html移動到另一個目錄,pic1.jpg的相對路徑仍然可以使用。如果它不起作用,我的建議是檢查新目錄的權限 - 您的Web服務器是否具有對新目錄的讀取權限? OTOH,如果你移動到另一個級別的子目錄(例如public_html/doc_old/really_old),你必須調整你的相對路徑以包含子目錄。在我的例子中,相對路徑將成爲:

  • ../../pic/pic1.jpg
+0

謝謝!我在詢問如何在file3中指定文件1的絕對路徑作爲外部訪問文件3。請參閱我對原文的更新。 – Tim 2010-02-01 14:48:43