【问题标题】:How to removes/clear files from cache (Added Expires Headers in htaccess file)如何从缓存中删除/清除文件(在 htaccess 文件中添加过期标头)
【发布时间】:2017-08-18 09:32:33
【问题描述】:

这是我的 .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>

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

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

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

【问题讨论】:

    标签: php .htaccess caching header


    【解决方案1】:

    啊,是的,我自己也经历过!我在.htaccess中使用的是以下内容,放在最上面:

    ExpiresActive On
    ExpiresDefault A1
    Header append Cache-Control must-revalidate
    

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

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

    【讨论】:

    • 你能告诉我你的答案中给出的代码到底是做什么的吗?因为我想要的只是清除 .htaccess 中此过期标头代码缓存的所有缓存文件。
    • 如我的回答中所述。它强制cache-control 在每次访问时重新验证。这意味着每次您(或用户)访问该网站时它都会重置缓存。您只能在进行更改时保留此代码。
    • 有没有办法设置过期标题,例如如果任何文件更改然后自动反映在网站上。没有从 htaccess 中删除它的过期时间?
    • 我认为这是可能的。但不是通过.htaccess。您需要使用 JavaScript。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 2013-02-18
    • 1970-01-01
    • 2020-09-10
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多