布景
在搜索引擎中搜索关头字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太常常更新的文件缓存在阅读器端,这样访客每次拜候你的网站的时候,阅读器便可以从阅读器的缓存中获得css、js等,而没必要从你的办事器读取,这样在一定水平上加快了网站的打开速度,又可以节俭一下你的办事器流量。
问题
现在问题来了,.htaccess设置的css、js缓存都有一个过时时间,如果在访客的阅读器中已经缓存了css、js,在这些css、js缓存未过时之前,阅读器只会从缓存中读取css和js,如果你在办事器上修改了css和js,那么这些更改在回头客的阅读器中是不会有转变的,除非回头客按了Ctrl + F5刷新了你的网站页面或手动清空了阅读器的缓存。一个网站的访客不计其数,回头客也会有很多,你不成能在更新css后让每个访客都刷新一下缓存吧,那么这个问题你会怎么措置呢?
措置体例
1.更改css文件名:其实解决这个问题很简单,缓存是通过文件名标识表记标帜缓存的内容的。在你更新了网站的css文件内容后,在改换一下css的文件名便可以了。如原先html中的css挪用语句如下:
<link rel="stylesheet" href=".example/style.css" type="text/css" media="screen" />
改一下css文件名便可以了:
<link rel="stylesheet" href=".example/index.css" type="text/css" media="screen" />
别的一种从更改css文件名的体例是将版本号写到文件名中,如:
<link rel="stylesheet" href=".example/index.v2011.css" type="text/css" media="screen"/>
css文件更新后,改一下文件名中的版本号便可:
<link rel="stylesheet" href=".example/index.v2012.css" type="text/css" media="screen"/>
2.给css文件加个版本号:其实每次修改css文件后还要修改css的文件名有点麻烦,那么我们可以在加载css语句中插手个版本号(即css链接中?后面的内容)便可以了。如原先html中的css挪用语句如下:
<link rel="stylesheet" href=".example/style.css?v=2011"type="text/css" media="screen"/>
改一下css文件的版本号改成2012便可以了:
<link rel="stylesheet" href=".example/style.css?v=2012"type="text/css" media="screen"/>
总结
其实css文件后面的问号起不到实际作用,仅能当作后缀,如果用问号加参数的体例,可以添加版本号等信息,同时可以刷新一下阅读器真个缓存。一个小小的细节,可以给我们带来很年夜的便利。
原文地址:.ludou/css-version.html