如何从缓存中删除/清除文件(在 htaccess 文件中添加过期标头)

Ash*_*jar 1 php .htaccess caching header

这是我的 .htaccess 文件,我在其中添加了用于存档缓存和页面速度的过期标头。

<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On 
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
Run Code Online (Sandbox Code Playgroud)

但是几天后我需要对我的文件进行一些修改,所以我只是修改了我的文件,但由于这个过期标头,没有反映单个文件。我总是得到旧文件。所以我决定从 .htaccess 中删除上面给出的代码。但是删除代码后没有结果。我也多次清除所有浏览器数据,但没有结果。

所以我只想知道如何从浏览器/服务器中清除所有缓存,这些缓存是通过设置到期标头来缓存的。

我的网站在 apache+php 服务器上运行。

Joe*_*Joe 5

啊,是的,我自己也经历过!我使用的是我的以下内容.htaccess,将其放在顶部:

ExpiresActive On
ExpiresDefault A1
Header append Cache-Control must-revalidate
Run Code Online (Sandbox Code Playgroud)

这样做基本上是强制您的缓存在每次有人访问它时重新验证。

输入此代码后第一次访问时。只需刷新您的页面,它就会推动重新验证。

  • 正如我的回答中提到的。它强制“缓存控制”在每次访问时重新验证。这意味着每次您(或用户)访问网站时,它都会重置缓存。您只会在进行更改时保留此代码。 (2认同)