mod_expires与新内容?

时间:2015-07-10 00:25:58

标签: html .htaccess

我正在完成构建一个静态站点(仅限HTML,CSS和JS),但我遇到了客户端浏览器缓存的问题。

好吧,我正在使用Apache服务器并优化加载(根据GMetrix,Google Insight等网站的建议)我在.htaccess文件中添加了一些代码。

    ## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>

<IfModule mod_headers.c>
  <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml text/x-js text/js 
</IfModule>

当我必须更新特定页面的内容时,问题就开始了,但是由于浏览器存储了缓存,除非重新加载页面,否则无法看到更新(F5)。

我的问题是:我必须删除.htaccess中添加的这些行,或者是否有自动方式强制在客户端浏览器中显示新内容?

我每天都会在index.html页面上发布更新,但是使用存储缓存用户的浏览器并不总能看到新内容。

你能给我一个解决方案吗?

谢谢!

0 个答案:

没有答案