要启用浏览缓存,我将此代码添加到 .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 text/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 ##
一个问题是,当我更新我的网站时,用户必须点击CTRL+F5
才能查看新内容。我想在更改/更新内容时强制浏览器重新获取资源。我是否需要标题在较早的日期到期?
在PHP中实现这一目标的最佳做法是什么(即:这是一个wordpress网站)。
答案 0 :(得分:0)
这里有两个可能的问题,都很容易修复。
如果您的问题是例如更改图像时,则无法加载新图像;常见的解决方案是只在图像名称的末尾添加日期。
例如:
myimage.png
将附加到:
MYIMAGE-230215.png
或
MYIMAGE-1.png
通过更改名称,它会重新获取资源。这适用于您可能需要更新的任何资源。
另一个常见问题是由ExpiresDefault "access 2 days"
此设置默认情况下会将您网站上所有内容的缓存设置为2天(因此这包括您的所有html)。因此,如果您更新任何HTML,则不会立即更新用户&#39;端。
解决方案是简单地删除此行,因此缓存的唯一内容是您在.htaccess文件中指定的内容。