CSS缓存通过样式表打破

时间:2014-04-07 06:44:58

标签: css caching

我们中的许多人已经知道缓存破坏的传统方法:

<link rel="stylesheet" href="/css/example.css?v2" type="text/css">

是否可以通过样式表本身进行缓存清除?也许是模板行的东西?v2.css。一种不依赖于缓存区域参考的方法,而是文件本身。我有一个样式表,我定期在外部网站上更新,用于超过90页。我不希望在进行主要编辑时(通过参考)编辑所有90个页面。

1 个答案:

答案 0 :(得分:1)

你可以尝试使用一些.htaccess魔法:

source

RewriteEngine On 
RewriteBase /  
RewriteRule ^css/example-([0-9]+).css$ /css/example.css [L]

这会将example-002.css请求重定向到真实文件example.css

之后你必须在你的htmls中重命名样式定义:

<link href="http://z.askapache.com/css/example-002.css" rel="stylesheet" type="text/css" /> 

编辑90个文件可能看起来很多......但如果你的名字一致, 您可以使用搜索和替换ALL与某些IDE,并将css的所有引用更新到下一个版本:

find: example-002.css  
replace with: example-003.css

此外,如果您在网站的不同页面中对同一个css进行90次引用... 可能有一种方法来优化它并使用默认设置设置基本模板,这是继承的吗?

如果你使用PHP,这样的东西可能适合你:

<link href="http://z.askapache.com/css/example-<?php echo $css_version?>.css" rel="stylesheet" type="text/css" /> 

在index.php或设置中的某处定义$css_version。 因此,您必须更新所有htmls一次,然后才更新此属性。