整理自:http://m.95time.cn/bbs/NewsDetail.asp?id=849825
設定你的根目錄
作者: Kyle 2/16/03
內容:
設定你的根目錄 網站開發(fā)人員向來都一直必須在相對路徑 vs. 絕對路徑這項議題上面打轉。在 ColdFusion 環(huán)境里面,你可以在多個不同頁面使用 CFINCLUDE 卷標,不過既然我們對于在哪個目錄里面將會用到 CFINCLUDE 語法,因此在 CFINCLUDE 卷標里面使用相對路徑經常會造成很多麻煩。
舉例來說,某個被包含的選單里面可能有一個指向網站首頁的連結,像下面這樣:
<A HREF="index.cfm">Home Page</A> 在網站根目錄下面的任何檔案引入這個包含檔都不會有問題。但是如果你在某個次目錄下的一個檔案里面引入這個選單檔案,那么上面這個超鏈接便會失效,或者至少會連結到錯誤的頁面去。這時候你實際上會希望這個超鏈接是寫成這樣:
<A HREF="../index.cfm">Home Page</A> 有兩種方式可以克服這個問題。一個是在超鏈接里面直接使用絕對路徑。要使用這個作法,你必須在 ColdFusion 里面預先設定好一個路徑對應關系(mapping)。你可以在 ColdFusion 管理員(ColdFusion Administrator)的「路徑對應(Mappings)」區(qū)塊里面建立這些對應關系。一旦你建立好了路徑對應關系,你便可以把指向網站首頁的超鏈接寫成下面這個樣子:
<A HREF="/mymapping/index.cfm>Home Page</A> 如果你使用了絕對路徑,那么不論你在那個位置引入這個檔案,該檔案里面的超鏈接永遠都會保持有效。我通常使用一個叫做 APPLICATION.RootDir 的應用程序變量來儲存這項路徑對應設定,并且在超鏈接里面直接套用這個變量。使用這個作法,如果我真有必要修改目錄結構或者路徑對應的名稱,那么我只需要修改這么一個變量的值就可以了。
<CFSET APPLICATION.RootDir = "/MyMapping"> 如果你套用這個變量,你的超鏈接看起來會像下面這樣:
<A HREF="#APPLICATION.RootDir#/index.cfm"> 在每個頁面的開端建立這樣的變量,那么你就可以在該頁面的其它部分套用這個變量的值。包含檔案運作起來就像該檔案的內容實際上真的被寫入原有頁面一樣,因此如果檔案 A 引入了檔案 B,那么在檔案 B 里面我們便可以直接參照到檔案 A 里面的變量值:
<!--- 在每個頁面設定 RootDir 變量值 ---> <CFSET RootDir ="../"> <!--- 在被引入的頁面中參照 RootDir 變量的值(只要確定這個變量確實有被定義即可,否則在引入檔案的時候會出現(xiàn)錯誤訊息) ---> <A HREF="#RootDir#news/newspage.cfm"></code>
出處:
責任編輯:藍色
上一頁 下一頁 使用自訂卷標來設定版面配置
◎進入論壇網絡編程版塊參加討論
|