apache - htaccess/mod_expires - 缓存特定文件

标签 apache .htaccess caching mod-expires

好吧,我查了很多关于如何用.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你觉得还行吗?

最佳答案

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

# 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但它没有用...

关于apache - htaccess/mod_expires - 缓存特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27190178/

相关文章:

apache - htaccess 重定向 URI 到父目录

php - 使用 apache 配置为每个站点指定 PHP 包含目录

.htaccess - 如何重定向到 Laravel 上的公共(public)文件夹

Apache mod_rewrite 特定路径格式的查询字符串的路径

php - 我们如何在用户使用javascript登录时强制删除缓存

apache - 使用 .htaccess 删除 URL 中不需要的部分

django - Ubuntu 上的 Apache 错误 ERROR : Site (SiteName) does not exist

regex - Apache mod_rewrite REDIRECT_STATUS 条件导致目录列表

java - 第三方缓存软件——它们提供什么?

android - 缓存 SHOUTcast API 结果