配置
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
如何实现第一个方案或者第二个,或者还是否有其他更好的办法?