2014-02-22 102 views
0

我用下面的範例來處理我的CDN緩存的工作: 每個路徑包含,例如「版本?」:http://mycdn.com/some-javascript-file.js?123CSS圖像路徑CDN

同樣的模式適用於所有的我資源(JS,CSS,圖像),我遇到的問題是在CSS文件中的圖像路徑。

例如,我有以下的代碼片段在我的CSS的一個:

「URL(../../Images/example.png)」

的問題是,此圖像路徑不使用版本範例,我想以某種方式將該版本添加到路徑中,是否有一種很好的方式來執行此操作,除了以下方法: 1)對於每個圖像更改 - 還要更改css與一些虛擬版本。

「URL(../../Images/example.png?1)」 - 變化1

「URL(../../Images/example.png?55)」 - 變化2

2)轉讓所有的我的CSS的文件是ASPX文件,並使用代碼隱藏爲了定義版本:

「<%= html.VersionUrl(」。 ./../ Images/example.png「)%>」

3)使用帶點LIB:http://www.dotlesscss.org/

任何其他簡單/不錯的主意?

回答

0

我發現的最佳解決方案是將版本標記更改爲位於url的開頭,並使用url重寫來處理請求。 所以,如果比如我以前有:

http://website/Content/Images/1.png?123456 

這將成爲:

http://website/123456/Content/Images/1.png 

請注意,我用的URL重寫,以便在處理請求,使http://website/123456/Content/Images/1.png將真正實現從數據http://website/Content/Images/1.png