我已经在这里回答了 100 多个答案,尝试了很多,没有任何工作?
有一个基于 PHP 的网站。我需要为所有 .php 文件缓存 OFF,除了 SELECT FEW。
因此,在 .htaccess 中,我有以下内容:
ExpiresActive On
# Eliminate caching for certain dynamic files
<FilesMatch "\.(php|cgi|pl)$">
ExpiresDefault A0
Header set Cache-Control "no-cache, no-store, must-revalidate, max-age=0, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>
使用 Firebug,我看到以下内容:
Cache-Control no-cache, no-store, must-revalidate, max-age=0, proxy-revalidate, no-transform
Connection Keep-Alive
Content-Type text/html
Date Sun, 02 Sep 2012 19:22:27 GMT
Expires Sun, 02 Sep 2012 19:22:27 GMT
Keep-Alive timeout=3, max=100
Pragma no-cache
Server Apache
Transfer-Encoding chunked
X-Powered-By PHP/5.2.17
嘿,看起来很棒!
但是,我有几个 .php 页面需要一些非常短的缓存。
我认为简单的答案是将其添加到我希望启用缓存的每个 php 页面的最顶部:
<?php header("Cache-Control: max-age=360"); ?>
没有。
然后我尝试了上述的各种版本。没有。
然后我尝试了 meta http-equiv 变体。没有。
然后我尝试了 .htaccess 代码的变体以及上述变体,例如将其限制为:
# Eliminate caching for certain dynamic files
<FilesMatch "\.(php|cgi|pl)$">
Header set Cache-Control "no-cache, max-age=0"
</FilesMatch>
没有。
似乎我所做的任何事情都不会允许使用 .htaccess 代码启用单个 .php 缓存,而不是完全从 .htaccess 文件中删除语句。
我哪里错了?我该怎么做才能使单个 php 页面可缓存而其余页面保持关闭?
谢谢你的任何想法。