如何在只有少数页面需要经常更新的网站上使用杠杆缓存?

How to use leverage caching on a website where ONLY FEW pages need to updated frequently?

我在 .htaccess 中写了 png、jpg、html、css、js 和所有文件的有效期为 1 个月。 但是 html 中很少有人经常更新。我该如何管理? 另外,如果我更改我的 .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 application/pdf "access 1 month"
    ExpiresByType application/javascript "access 1 month"
    ExpiresByType application/x-javascript "access 1 month"
    ExpiresByType application/x-shockwave-flash "access 1 month"
    ExpiresByType image/x-icon "access 1 year"
    ExpiresDefault "access 2 days"
</IfModule>
## EXPIRES CACHING ##

这是我在 .htaccess 中编写的代码。

现在,如果我进行任何更改,浏览器是否仍会从缓存中加载,因为有效期为 1 个月,还是会加载新内容?

就我而言,它仅在我用力刷新页面时才加载新内容。但是用户不知道他需要这样做。解决方案是什么?

我建议您根据源文件的修改日期设置到期时间header。这可以通过以下方式完成:

ExpiresActive On
ExpiresDefault "modification plus 1 month"

您也可以使用以下方法实现此目的:

<FilesMatch "\.(png|jpe?g|html?|css|js)$">
    ExpiresActive On
    ExpiresDefault "modification plus 1 month"
</FilesMatch>