相對路徑和絕對路徑

2021-07-31 14:26:01 字數 3102 閱讀 2302

一、基本概念

1、相對路徑-顧名思義,相對路徑就是相對於當前檔案的路徑。網頁中一般表示路徑使用這個方法。

2、絕對路徑-絕對路徑就是你的主頁上的檔案或目錄在硬碟上真正的路徑。絕對路徑就是你的主頁上的檔案或目錄在硬碟上真正的路徑,比如,你的perl 程式是存放在 c:/apache/cgi-bin 下的,那麼 c:/apache/cgi-bin就是cgi-bin目錄的絕對路徑

在網路中,以http開頭的鏈結都是絕對路徑,絕對路徑就是你的主頁上的檔案或目錄在硬碟上真正的路徑,絕對路徑一般在cgi程式的路徑配置中經常用到,而在製作網頁中實際很少用到。

二、相對路徑使用的特殊符號

以下為建立路徑所使用的幾個特殊符號,及其所代表的意義。

"./":代表目前所在的目錄。

以"/"開頭:代表根目錄。

根目錄下有site1和image/image.jpg,site1下有page1.html檔案和site2資料夾。site2下有page2.html和page2image.jpg檔案。

1、檔案在當前目錄

page2.html訪問page2image.jpg

2、檔案在上一層目錄

page1.html訪問image下的image.jpg

page2.html訪問image下的image.jpg

3、檔案在下一層目錄

page1.html訪問site2資料夾下的page2image.jpg

4、根目錄表示法,任何頁面訪問image下的image.jpg

三、常使用且要注意的地方

a、css中的路徑。寫css裡的路徑,url是針對樣式檔案的位置

如果: index.html引用main.css,且在main.css 引用images目錄裡的1.jpg :

background: url(../images/1.jpg)  *** 正確

background: url(images/1.jpg)    *** 錯誤

b、js中位址均相對於呼叫js的頁面的相對位置。

四、優缺點及使用的地方

1、絕對路徑的優點

a、如果有人抄襲你的**內容,裡面的鏈結還會指向你的**,有些抄襲的人比較懶,根本不會去改內容。其實也不侷限於被抄襲,如果有人將你的網頁儲存到本地電腦中,裡面的鏈結、、css、以及js仍然會連線到你的**。

b、如果網頁位置改變,裡面的鏈結還是指向正確的url。

2、絕對路徑的缺點:

a、在編碼編寫時不方便使用絕對路徑,因為鏈結應該指向真正的網域名稱而不是開發站點。

相對路徑的優缺點和絕對路徑幾乎相反。

3、相對路徑的優點:

a、容易移動內容,可以整個目錄移動。

b、測試方法比較靈活,本機測試時比較方便。

4、相對路徑的缺點:

a、部分內容頁面換了位置時,鏈結容易失效。

b、容易被人大面積採集抄襲。

五、相對路徑和絕對路徑在系統檔案中與在網路中類似,檔案的路徑符號是斜線「/」,而網路路徑卻是和它相反的反斜線「/」

六、小知識:

「新建**」與

「新建虛擬目錄

」的差別,一些用過的

iis的人都會知道新建虛擬目錄,可以用來指定乙個目錄來執行

asp程式,但是如果

asp/html

源**裡經常出現類似這樣的**

「,注意「images」

的前面斜槓

「/」。如果是在虛擬目錄不能呼叫此的了,而只有新建**才能。其實相對路徑裡的首字元是斜槓時,這表示是相對與**的根目錄,但虛擬目錄始終都是乙個**底下的子目錄,所以就不能用了

七、(一)、cs類中獲取絕對路徑:system.web.

(二)、在乙個工程中,根目錄下有jslib/common.js檔案。這是乙個公用js檔案,專案中每個頁面均會呼叫這個js檔案乙個方法。此方法是基於jquery的ajax訪問返回列表的乙個方法,ajax訪問的路徑是根目錄下的common/main.ashx。現在碰到的問題是如何保證這個ajax訪問的路徑在「新建**」和「虛擬目錄」中均可以訪問。

比如在根目錄下的yhmge/useradd.aspx頁面。

1、在「虛擬目錄」中檢視路徑(company為虛擬目錄名稱):

2、在「新建**」中檢視路徑:

如果要保證在「新建**」和「虛擬目錄」中均可以訪問,對於上面兩個連線,無法寫通用的方法獲取頁面基於根目錄有幾層。所以有一種思路就是使用絕對路徑,獲取common.js的根路徑便可以訪問控制代碼頁面了。我們可以在common.js檔案中獲取/jslib/common.js檔案的絕對路徑,再經此路徑去掉「/jslib/common.js」部分,再將要訪問的common/main.ashx接在這個路徑便可以。

獲取根路徑(基於jquery):

function getrootpath()

var srcbase = scriptobj.eq(0).attr("src").replace("/jslib/common.js","");;

return srcbase}

1、在「虛擬目錄」中檢視路徑(company為虛擬目錄名稱):

擷取後得出:

,再接上「common/main.ashx」,得出common/main.ashx

便可順利訪問

2、在「新建**」中檢視路徑:

擷取後得出:

,再接上「common/main.ashx」,得出 common/main.ashx

便可順利訪問

當然,這個方法的前提是js檔案的引用是絕對路徑。

相對路徑絕對路徑

前兩天突然發現自己一直以來對相對路徑絕對路徑的理解都是錯的,於是趕緊查了相關資料。1.絕對路徑 絕對路徑是指檔案在硬碟上真正存在的路徑。例如 bg.jpg 這個是存放在硬碟的 e book 網頁布局 第2章 目錄下,那麼 bg.jpg 這個的絕對路徑就是 e book 網頁布局 第2章 bg.jpg...

絕對路徑 相對路徑

一 基本概念 1 相對路徑 相對於當前檔案的路徑。網頁中表示路徑一般使用這個方法。二 相對路徑常見的寫法 代表目前所在的目錄。開頭 代表根目錄。根目錄下有test1資料夾和image image1.jpg,test1下有index1.html檔案和test2資料夾。test2資料夾下有index2....

相對路徑和絕對路徑

表示原始檔所在目錄的上一級目錄,表示原始檔所在目錄的上上級目錄,以此類推。假設info.html路徑是 c inetpub wwwroot sites blabla info.html 假設index.html路徑是 c inetpub wwwroot sites index.html index....