htaccess,缓存特定文件

Sha*_*oux 6 apache .htaccess caching

好的,我查了很多关于如何用htaccess文件管理浏览器缓存的网站,但对我来说还是不太清楚.

我想缓存特定文件一个月.对于其他人,我希望每次都能刷新它.所以我尝试过:

<IfModule mod_headers.c> 
    Header unset Cookie
    Header unset Set-Cookie

    #Header set Cache-Control "max-age=31536000"
    Header unset Cache-Control
    Header unset ETag
    FileETag none 
</IfModule>

<IfModule mod_expires.c>  
    ExpiresActive On
    ExpiresDefault "now"
    <Files "/css/jquery-ui.css">
      ExpiresDefault "access plus 1 month"
    </Files>
    <Files "/js/jquery-1.10.2.min.js">
      ExpiresDefault "access plus 1 month"
    </Files>
    <Files "/js/jquery-ui.js">
      ExpiresDefault "access plus 1 month"
    </Files>
    <Files "/js/analytics.js">
      ExpiresDefault "access plus 1 month"
    </Files>
    <Files "/matheos/img/*">
      ExpiresDefault "access plus 1 month"
    </Files>
    <Files "/img/*">
      ExpiresDefault "access plus 1 month"
    </Files>
</IfModule>
Run Code Online (Sandbox Code Playgroud)

但它显然不能完全按预期工作... html正确没有缓存,但对于其他文件,它似乎并不正确.我想要不缓存的文件似乎被缓存了15分钟(好吧,我可以活下来,但为什么?...),而对于其他的,我不能确定.我认为它们可能被正确缓存,但我怎么知道呢?

无论如何,这个htaccess对你来说好吗?

非常感谢你的帮助.我接受任何建议;)

Sha*_*oux 8

好的,我知道了 !要定位特定文件,正确的语法是:

#to not cache css except jquery-ui.css
ExpiresByType text/css "now"
<FilesMatch "jquery-ui\\.css$">
    ExpiresByType text/css "access plus 1 month"
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

这是唯一对我有用的方法,至少在ovh共享主机的情况下.我也尝试过与ExpiresDefault的所有可能组合,但它不起作用......