2011-06-10 23 views
0

我有一個在主目錄中具有靜態HTML頁面的網站。這些HTML頁面使用相對路徑來引用的圖片,CSS和鏈接即引用.css和腳本生成的HTML圖像

<img src="images/myimg.gif"> 

<a href="contactUs.html">Contact Us</a> 

我也有一個整體的腳本,其網址爲,即http://mysite.com/myScript它採用「額外路徑信息」選擇功能...即http://mysite.com/myScript/products顯示產品清單。所以在HTML從劇本我需要參考圖像,CSS和鏈接是這樣產生的:

<img src="../images/myimg.gif"> 

<a href="../contactUs.html">Contact Us</a> 

問題是,現在我要開始移動普通的HTML爲include文件, (例如,常見的頁眉和頁腳),但腳本和靜態HTML以不同方式引用相關資源的事實使事情變得複雜。

我不想使用絕對路徑,因爲當她試圖在DramWeaver的頁面上工作時弄亂了我的同事的工作,而且這也使得網站的靈活性降低。

解決此問題的最佳方法是什麼?我的一個想法是在Apache中使用URL重寫,以允許URL爲http://mysite.com/products真正使用http://mysite.com/myScript/products,但我沒有URL重寫的經驗,所以我不知道這會是多麼容易。我的另一個想法是在HTML中使用META BASE屬性,但我不喜歡這樣的事實,即我必須將其硬編碼到每個HTML頁面中,並且它必須具有完整的URL硬編碼(例如http://mysite.com/)進入每一個。有什麼建議?

回答

0

你不能在開始時用斜線引用你的圖像,因此無論你在目錄結構中有多深,鏈接到的所有文件都來自根目錄? E.g:

<img src="/images/myimg.gif" />

編輯:

你可以使用$_SERVER得到那麼路徑使用substr_count計算路徑斜槓的數量。根據您的需要添加儘可能多的../。這對你有用嗎?

+0

看到我的問題,我說我爲什麼不想使用絕對路徑 – JoelFan 2011-06-10 12:06:33

+0

糟糕,抱歉。請參閱編輯... – 2011-06-10 13:49:52