2011-09-19 62 views
0

我寫了一個簡單mod_rewrite轉換我的醜URL S:mod_rewrite的和相對的HTML鏈接

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule news\/([^\/]+)/([0-9]+)-([^\/]+)$  news.php?id=$2 
    RewriteRule (.*)/images/(.*)$      images/$2 
    RewriteRule (.*)/css/(.*)$       css/$2 
    RewriteRule (.*)/js/(.*)$       js/$2 
</IfModule> 

的問題就立刻起來了,因爲所有的圖片,腳本和樣式都要求相對URL。所以我必須爲regex添加下一個3 end-of-line斷言並添加下面的3條規則。我所問的是,這種方法是好還是消耗了太多資源?我知道這可以通過絕對鏈接解決,但我的懶惰促使我嘗試這種解決方案,它具有整個網站的效果。還是有更好的解決方案?

建議的一件事是在鏈接前加上斜槓。問題是該網站可以通過兩個域來訪問:foo.combar.com/baz/qux/,所以我真的不能使用它。

任何幫助,將不勝感激。謝謝!

回答

2

您還可以添加一個<base href=""/>到您的html文件,這爲您節省了images/css/js重寫規則。

關於「消耗太多的資源」 - 當你真的有很多訪問時,它肯定會落在你的腳上。但我懷疑你會進入這個交通地區。

+0

這只是純粹的優雅。一行解決方案! 2分鐘接受。愚蠢的限制=) –