2010-09-04 80 views
1

當CSS從瀏覽器調用CSS樣式表,Rails的合併所有的CSS文件合併成一個:使用Rails的其他CMS或網站

all.css?random-section-id-number (e.g. all.css?2342568659756352) 

每次到期時,數量的變化。

我與Wordpress共享此CSS文件,並且我想讓Wordpress調用相同的CSS,以便減少HTTP請求。但是,如果我把all.css,它會從Rails調用一個新的CSS,導致redownloading CSS文件。

我該如何讓Wordpress只使用具有相同section-id的緩存CSS文件?

回答

0

Rails中資產之後的「隨機數」是文件mtime。做同樣的事情在WordPress的:

<? $stat = stat("/path/to/your/railsapp/stylesheets/stylesheet.css"); ?> 
<link rel="stylesheet" type="text/css" href="/railsapp/stylesheets/stylesheet.css?<?=$stat["mtime"] ?>" /> 

這就是說,該字符串的目的不是爲了幫助緩存,但作爲一個緩存無效時,文件更改。如果您強制刷新,您的瀏覽器將下載CSS的新副本,或者您沒有正確設置CSS文件的過期標題,但沒有緩存字符串,它不知道在文件時下載新副本變化。

+0

所以我應該把上面的代碼在Wordpress模板文件的標題? $ stat = stat(「/ path/to/your/railsapp/stylesheets/stylesheet.css」);另外,我可以使用絕對路徑嗎?謝謝。 – Victor 2010-09-05 09:44:55