2009-08-03 69 views
1

只是一件小事,但我無法超越它。mod_rewrite覆蓋調用html根

因此,假設你將在你的html文件中引用圖像和css文件,如下所示:< img src =「/ img/myimage.jpg」/ >等等。現在,如果你想添加一個mod重寫規則來將這些地址映射到/subset/img/myimage.jpg之類的東西,你會怎麼做?

就我所知,我無法覆蓋以/開頭的路徑。而當你處理它時,如果存在一個可以爲所有文件請求執行映射的規則,那將會很好。

謝謝!

編輯:還有一件事。還有相對路徑(由tinyMCE生成),像這樣工作「../../../../img/myimage.jpg」。我不確定爲什麼這些工作,因爲這些路徑將被映射到public_html下的某處。任何幫助與這些將不勝感激。

回答

0

啊!對不起,我很愚蠢。您當然需要處理映射到文檔根目錄下的文檔根目錄的請求。你看我在一個子目錄下工作。

路徑工作映射在public_html或www下面的事實仍然困擾着我。但我想這多餘的「../」只是被忽略並映射到文檔根目錄。

0

試試這個規則:

RewriteRule ^img/.* subset/$0 [L] 

現在你的第二個問題:相對URI總是解析爲絕對URI它們發送到服務器之前。因此,客戶端將根據基本URI解析../../../../img/myimage.jpg(請參閱RFC 2396 5.2。將相對引用解析爲絕對錶單)。因此,服務器將始終接收絕對URI路徑,然後它可以附加到文檔根路徑以將請求的URI路徑映射到文件系統。

+0

而且我猜測它會去掉多餘的「../」? – JHollanti 2009-08-03 14:38:52