不添加缓存元 + php 标头会导致 css/js 也无法缓存吗?


Will adding no cache meta + php headers cause css/js not to cache too?

动态

站点(100% ajax(转到不同页面时未更新的问题。 我只想缓存 html 页面。 css 和 js 是不变的,我想缓存你知道吗?

我添加了以下 php

Response::header('Cache-Control', 'no-store, private, no-cache, must-revalidate'); // HTTP/1.1
Response::header('Cache-Control', 'pre-check=0, post-check=0, max-age=0, max-stale = 0', false); // HTTP/1.1
Response::header('Pragma', ' public');
Response::header('Expires', 'Sat, 26 Jul 1997 05:00:00 GMT');                  // Date in the past  
Response::header('Expires', '0', false); 
Response::header('Last-Modified', gmdate('D, d M Y H:i:s') . ' GMT');
Response::header('Pragma', 'no-cache');

和以下 HTML

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

它会破坏 css/js 还是让 html 必须重新加载。

"我只想缓存html页面"在你的问题中有点令人困惑。从我收集的您的问题是浏览器缓存内容,但您想禁用缓存。:)

无论如何:

您在 PHP 输出

中添加的任何内容只会影响您的 PHP 输出。如果你在PHP脚本中生成HTML,那么只有PHP生成的HTML会受到影响,没有其他影响。

额外答案:

如果你想改变.js和.css文件的缓存策略,那么你需要处理Apache的httpd.conf或.htaccess(假设Apache是你的HTTP服务器(