8

好的,我检查了很多网站关于如何用文件管理浏览器的缓存.htaccess,但我仍然不太清楚。

我想将特定文件缓存一个月。其余的,我希望它每次都刷新。所以我尝试了:

<IfModule mod_headers.c> 
    Header unset Cookie
    Header unset Set-Cookie
    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>

但它并没有完全按预期工作......

HTML 未正确缓存,但jquery-ui.css应缓存 1 个月的特定文件也未缓存。

无论如何,这.htaccess对你来说似乎还可以吗?

4

1 回答 1

10

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

# to not cache css except jquery-ui.css
ExpiresByType text/css "now"
<FilesMatch "jquery-ui\\.css$">
    ExpiresByType text/css "access plus 1 month"
</FilesMatch>

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

于 2014-12-01T10:10:24.400 回答