DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> WEB網站前端 >> 前端技巧 >> 網頁制作絕對路徑與相對路徑的區別
網頁制作絕對路徑與相對路徑的區別
編輯:前端技巧     

1.絕對路徑

先說在本地計算機上,文件的絕對路徑當然是指:文件在硬盤上真正存在的路徑。

例如這個路徑:D:/wamp/www/img/icon.jpg告訴我們icon.jpg文件是在D盤的wamp目錄下的img子目錄中。我們不需要知道其他任何信息就可以根據絕對路徑判斷出文件的位置。

還有超鏈接文件位置,也屬於絕對路徑,例如http://www.img.net/img/icon.jpg 。

注意:有時候編好的頁面,在自己的計算機上浏覽一切正常,但是上傳到Web服務器上浏覽就很有可能不會顯示圖片了。因為靜態HTML頁面需要上傳到網站,而在網站的應用中,通常我們使用"/"來表示根目錄,/img/icon.jpg就表示photo.jpg文件在這個網站的根目錄上的img目錄裡。但是要知道,這裡所指的根目錄並不是你的網站的根目錄,而是你的網站所在的Web服務器的根目錄。因為上傳到Web服務器上時,可能整個網站並沒有放在Web服務器的D盤, 有可能是F盤或H盤。即使放在Web服務器的D盤裡,Web服務器的E盤裡也不一定會存在“D:/wamp/www/img”這個目錄,因此在浏覽網頁時是不會顯示圖片的。這也是應用絕對路徑的風險。

2.相對路徑

相對路徑,顧名思義就是自己相對與目標位置。

假設 你要引入文件的頁面名稱為test.htm,它存在叫www的文件夾裡(絕對路徑D:/wamp/www/test.htm),那麼引用同時存在www文件夾裡的“icon.jpg”文件(絕對路徑D:/wamp/www/icon.jpg),同一目錄下相對路徑icon.jpg;如果文件“icon.jpg”存在img文文件夾中(絕對路徑D:/wamp/www/img/icon.jpg),那麼相對路徑img/icon.jpg。

相對路徑可以避免上述根目錄不同的問題。只要將網頁文件及引用文件的相對位置與web服務器上文件相對位置保存一致,那麼他們的相對路徑也會一致。例如上面的例子,“test.htm” 文件裡引用了“icon.jpg”圖片,由於“icon.jpg”圖片相對於“test.htm”來說,是在同一個目錄的,那麼只要這兩個文件還是在同一個目錄內,那麼無論上傳到Web服務器的哪個位置,在浏覽器裡都能正確地顯示圖片。

注意:相對路徑使用“/”字符作為目錄的分隔字符,而絕對路徑可以使用“\”或“/”字符作為目錄的分隔字符。由於“img”目錄是“www”目錄下的子目錄,因此在“img”前不用再加上“/”字符。
在 相對路徑裡常使用“../”來表示上一級目錄。如果有多個上一級目錄,可以使用多個“../”。假設 “test.htm”文件所在目錄為“D:/wamp/www/test.htm”,而“icon.jpg”圖片所在目錄為“D:/wamp/www”,那 麼“icon.jpg”圖片相對於“test.htm”文件來說,是在其所在目錄的上級目錄裡,則引用圖片的語句應該為:
<img src="../icon.jpg" />
假設 “test.htm”文件所在目錄為“D:/wamp/www/test.htm”,而“icon.jpg”圖片所在目錄為“D:/wamp/www”,那 麼“icon.jpg”圖片相對於“test.htm”文件來說,是在其所在目錄的上級目錄裡的子目錄——“img”中,則引用圖片的語句應該為:
<img src="../img/icon.jpg" />

3.虛擬路徑

將文件上傳到遠程服務器後,這些文件駐留在服務器本地目錄樹中的某一個文件夾中。例如,在運行MicrosoftIIS的服務器上,主頁的路徑可能如下所示:c:\Inetpub\wwwroot\accounts\users\jsmith\index2.htm此路徑通常稱為文件的物理路徑。但是,用來打開文件的URL並不使用物理路徑。它使用服務器名稱或域名,後接虛擬路徑( 這裡說一下虛擬目錄:虛擬目錄,是對Http訪問而言的,用戶在浏覽網站或FPT時顯示的目錄結構。例如你設置了E:\Website為訪問目錄,那麼E:\Website為虛擬目錄的根目錄;E:\Website\Image,就變成了\Image. )。所以接上面的例子,虛擬路徑可以寫成
<img src="/img/icon.jpg" />
 

整理一下

“./” 代表當前目錄 <img src="./img/icon.jpg" />等同於<img src="img/icon.jpg" />
“../” 代表上一級目錄
“/” 當前根目錄,是相對目錄;<img src="/img/icon.jpg" />
“~/” Web 應用程序根目錄。ASP.NET 啟用了 Web 應用程序根目錄運算符 (~),在服務器控件中指定路徑時,可以使用該運算符。ASP.NET 會將 ~ 運算符解析為當前應用程序的根目錄。可以結合使用 ~ 運算符和文件夾來指定基於當前根目錄的路徑。<asp:image runat="server" id="Image1" ImageUrl="~/Images/SampleImage.jpg" />在該示例中,圖像文件將從 Web 應用程序根目錄下的 Images 文件夾中直接讀取,無論該頁面位於網站的什麼位置。
 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved