javascript - 如何使 JS 和 CSS 可缓存直到更改?

标签 javascript php css apache caching

<分区>

如何使 JS 文件和 CSS 文件可缓存,直到文件被更改?我在 apache 服务器上使用 HTML、JS、CSS、PHP。不得缓存 PHP 页面。提前致谢!

编辑:Google PageSpeed Insights 的内容: Google PageSpeed Insights

最佳答案

对于 php 文件中的 php 设置,将 expiration date 放在非常大的标题中

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 2020 05:00:00 GMT"); // 2020

或过去的日期

header("Expires: Sat, 26 Jul 1999 05:00:00 GMT"); // 1999

要让浏览器重新加载缓存页面,您需要将 header 更改为这样的

 header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
 header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
 header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache");   

禁用缓存的 htaccess 规则

 <filesMatch "\.(html|htm|js|css)$">
 FileETag None
 <ifModule mod_headers.c>
  Header unset ETag
  Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
  Header set Pragma "no-cache"
  Header set Expires "Mon, 26 Jul 1999 05:00:00 GMT"
  </ifModule>
  </filesMatch>

关于javascript - 如何使 JS 和 CSS 可缓存直到更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35112910/

相关文章:

javascript - 为什么我的 chosen.js 放大镜图标在 Retina 屏幕上的位置错误?

javascript - 代码返回上次刷新之前的最新值而不是插入的最新值?

javascript - 如何停止 jQuery 函数 mouseenter() 和 mouseleave() 的重复?

javascript - 为什么这个正则表达式不接受我的模式? (适用于闪光灯)

php - 使用 XMLReader、DOM、Xpath 获取给定节点的标签名称和值

javascript - 在桌面上保持悬停的同时在移动设备上展开折叠菜单

javascript - Firefox 在哪里存储 javascript/HTML localStorage?

php - Brand_title没有保存在数据库中?

php - 拉取数据库表并放入 HTML 表中

html - Bootstrap 响应式 iframe 不调整大小