Apache htaccess 如何控制网页缓存!强制刷新微信浏览器缓存?

配置

Apache 已经设置 重写为AllowOverride All

<Directory />
AllowOverride All
</Directory>

网站

现在已发布一个网站

document_root=/var/www/test.com/

根目录下的 /.htaccess 中设置了 html|css|js 文件的缓存为一个月。

#/.htaccess 
<IfModule mod_headers.c>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|htc)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(html|htm|php|shtml)$">
Header set Cache-Control "max-age=86400"
</FilesMatch>
</IfModule>

问题

在网站下发布文件夹 /act2014/001/index.html,已经对外发布。很多人通过微信访问,但发布之后网页一直有修改,可客户端通过微信浏览,有的是最新的,有的还是旧的,无法清除缓存,强制刷新也没有用。index.html 里的js已加版本号,但是index.html 这个文件一直都无法刷新缓存。

解决

1)方案一:想通过.htaccess 来强制刷新 /act2014/001 这个文件夹下的强制某个日期过期
2)方案二:如果访问 /act2014/001/ 网址且网址中没有带ver=2014,直接强制R=301跳转到 /?ver=2014 或者/index.html?ver=2014

如何实现第一个方案或者第二个,或者还是否有其他更好的办法?

阅读 9.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏