2009-02-15 36 views
2

我正在使用mod_rewrite更改網站上的所有網址。例如:http://www.site.com/about/變成http://www.site.com/?action=about(別擔心,我有很好的友好的理智檢查)。問題是,除了http://www.site.com/之外,CSS樣式表不會加載。我認爲這是因爲它在/about/content/style.css而不是/content/style.css中查找樣式表。我如何確保它找到正確的樣式表?mod_rewrite和CSS

這是我的一些代碼以防萬一。 .htaccess看起來是這樣的:

RewriteEngine on 
RewriteRule ^news/([0-9]+)/?$ /?action=news&start=$1 [L] 
RewriteRule ^news/?$ /?action=news&start=0 [L] 
RewriteRule ^(about|contact|man|home|download)/?$ /?action=$1 [L] 

他們都重定向到index.php,這開始了這樣的:

<html> 
    <head> 
    ... 
    <link rel="stylesheet" href="content/style.css" type="text/css" /> 
    </head> 
    <body> 
    ... 
    </body> 
</html> 

回答

6

試試這個。

<link rel="stylesheet" href="/content/style.css" type="text/css" /> 
+0

哇。我現在覺得自己像個白癡。 – 2009-02-15 01:48:34

3

爲什麼不直接使用絕對URI的CSS文件?即/content/style.css。像這樣保存頭痛。

<base href="/" /> 

由此相對URI從基URI路徑/而不是當前的ressource的URI路徑解析(你的情況/about/

1

另一解決方案是使用BASE HTML元素被設置基本URI )。