css图像路径与CDN版本

时间:2014-02-22 10:27:42

标签: asp.net css image url cdn

我正在使用以下范例来处理我的CDN缓存: 每个路径都包含“?version”,例如:http://mycdn.com/some-javascript-file.js?123

同样的范例用于我的所有资源(js,css,images),我遇到的问题是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)使用dotless lib:http://www.dotlesscss.org/

还有其他简单/好主意吗?

1 个答案:

答案 0 :(得分:0)

我发现的最佳解决方案是将版本标记更改为url的开头,并使用url rewrite来处理请求。 因此,如果我曾经有过:

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

这将成为:

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

请注意,我使用url rewrite来处理请求,以便http://website/123456/Content/Images/1.png实际上从http://website/Content/Images/1.png

获取数据