我正在使用 .htaccess 文件来设置网站的标题。我想知道如何将文件缓存设置为在对其进行修改后过期。这可能吗?
即这行得通吗?
ExpiresDefault "modification"
换句话说,我希望缓存一直保留到服务器修改文件为止。
最佳答案
过期修改设置缓存在文件最后一次修改后的某个时间过期。即使您的文件在设置的缓存时限内再次被修改,已经缓存该文件的客户端也不会寻找新版本。 Apache Expiration包含有关过期模块的信息。
这是一个例子:
#BEGIN Cache-Control Headers
<ifModule mod_headers.c>
<filesMatch "\.(css|js)$">
ExpiresDefault "modification plus 4 weeks"
</filesMatch>
</ifModule>
# END Cache-Control Headers
如果您的 css 文件在 1 周前被修改,缓存将在 3 周内过期,而不是 4 周。
那么如何让新修改的 css 文件在缓存后显示出来呢?
如果您修改 CSS 文件,则在缓存过期之前,这些更改将不会显示在缓存的浏览器中。解决此问题的一种方法是更改缓存的 css 文件的名称。 (示例重命名 main1.css -> main2.css )
关于.htaccess - 如何设置缓存修改后过期呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10256051/