在目前這個網站中,如果我建立這麼一個連結:
<A HREF="marquee.htm">跑馬燈教學</A>,或是
<A HREF="http://home.kimo.com.tw/awaycheck/html/link/marquee.htm>跑馬燈教學</A>
利用這兩種方法,我都可以建立同樣的超連結。先在這裏分清楚,前者是『相對路徑』的寫法,後者是『絕對路徑』的寫法。
在超連結的設定中,相對路徑指的是我所要連結的檔案和目前的檔案所存放在網站之間的位置相對關係。這個用法只能用在存放於同一個網站內的檔案之間,相互連結。例如:你就不可能利用同樣的寫法來連結我的檔案。絕對路徑比較簡單,它直接標明了檔案在網路上的位置,你也可以直接利用絕對路徑的方式直接連結到我的檔案中。那麼何時使用相對路徑,何時使用絕對路徑呢
? 一般我們使用的通則是:同一個網站內的檔案,我們大多使用相對路徑,不同網站內的檔案,我們一定會使用絕對路徑。
在編寫HTML文件時,每個連結如果你都使用絕對路徑來填入URL(通常是可怕的一大串),尤其是當一個HTML檔提供了很多很多的連結時,這
些URLs會龐大到簡直是個大災難,讓一份小小的文件淹沒在URLs中。作者也會被這些URLs搞得不知道原來的文件到底長得什麼樣,只看到無止盡的
URLURLURLURLURL,然後文件的File
Size也因這些URLs而暴增。更可怕的是,有朝一日一但你換了個帳號,或是在你的帳號底下有些的目錄要更動,很多或所有文件的URLs都要從頭改過,
豈不恐怖?相對位址可以幫我們解決這個問題。
現在你所看的檔案的名稱是 link.htm,是放在:
http://home.kimo.com.tw/awaycheck/html/link/link2.htm(絕對位址)
如果我要連結『跑馬燈教學』這個檔案,它是放在:
http://home.kimo.com.tw/awaycheck/html/link/marquee.htm(絕對位址)
是放在同一個目錄中的檔案,如果我們要連結跑馬燈這個檔案,我們只要寫:
<A HREF="marquee.htm">跑馬燈教學</A>就可以了
!
不要乎略了一個事實是,你現在正在看這個網頁,也就是說你已經進到
http://home.kimo.com.tw/awaycheck/html/link/
這個目錄中了,你要看『跑馬燈教學』這個檔案,難道你還要電腦重新找一次
http://home.kimo.com.tw/awaycheck/html/link/ 嗎?例如:你已經在台大了,你要問路,你應該會問『公館』在那裏(相對路徑),而不是問『台灣的台北的公館』在那裏(絕對路徑)吧
!
這次我要連結一個檔案-範例一(ex1.htm),它是放在(絕對位址)
http://home.kimo.com.tw/awaycheck/html/link/example/ex1.htm(絕對位址)
這次,如果你要用相對位址的方式來連結,你要怎麼做呢?對了,是:
<A HREF="example/ex1.htm">前往範例一</A>
很簡單吧!『範例一』比目前的檔案『深』了一層,要連結它,你就把『深』了的路徑寫上去;如果你還連結『更深』層的檔案,你就看它『怎麼深』,你就『怎麼寫』吧
!
往下層目錄連結沒問題了,那麼往上層呢 ?
假定我有一個檔案-範例二(ex2.htm),它是放在:
http://home.kimo.com.tw/awaycheck/html/ex2.htm(絕對位址)
這次,如果你要用相對位址的方式來連結,你要怎麼做呢?你不能說沒學過,是:
<A HREF="../ex2.htm">前往範例二</A>
『..』這個符號代表的是『上一層』的目錄。如果你要再上一層呢?例如有個檔案-範例三(ex3.htm),它是放在:
http://home.kimo.com.tw/awaycheck/ex3.htm(絕對位址)
這次,如果你要用相對位址的方式來連結的話,你要這麼寫:
<A HREF="../../ex3.htm">前往範例三</A>
唉 ! 往上幾層,你就點幾下就好了。
又有一個情況,假定有一個檔案-範例四(ex4.htm),它是放在:
http://home.kimo.com.tw/awaycheck/html/list/ex4.htm(絕對位址)
再重新看一次,你現在看的檔案是放在:
http://home.kimo.com.tw/awaycheck/html/link/link2.htm(絕對位址)
很麻煩吧!其實了解了上一個的寫法就不會麻煩了,應該是:
<A HREF="../list/ex3.htm">前往範例四</A>
希望你都能了解,而且,最好能真的了解 !
<BASE>標記可以在包含超連的文件內,將絕對位址變成相對位址,當你的網頁在同一個網站的許多子目錄下都需被連結時,這個標記就相當有用了,例如首頁。這個標記的格式如下:
<BASE HREF="絕對位置">
如果你曾經學過DOS,你把它想像成它的功能就如同 path
這個指令的功能,就更容易理解了。請注意,<BASE>只能用在<HEAD>標記之間。
如果你的首頁的網址是 http://www.hi.com.tw/index.htm,你有一個檔案是放在
http://www.hi.com.tw/abc/123/sample.htm。那麼你要從sample.htm中連結到首頁,你應該加上:
<A HREF="../../index.htm">回首頁</A>
如果子目錄太多,檔案也多,這就不好了。你可以將sample.htm改寫成:
<HEAD>
<BASE HREF="http://www.hi.com.tw/">
</HEAD>
<BODY>
<A HREF="index.htm">回首頁</A>
...........
</BODY> |
如果一來,瀏覽噞就會在伺服器的主目錄下找尋 index.htm
而不管目前文件是存在那個目錄下了。如果你計畫要建立一個大型的
Web 站,你可能就會考慮在你的 HTML 範本檔案內加入 <BASE>
了。
相對於上面的範例,連結到不同電腦中的檔案就簡單多了。例如:
<A HREF="http://www.kimo.com.tw">奇摩站</A>
<A HREF="http://www.hinet.net">中華電信</A>
就直接把絕對位置放上去就可以了。