-1

下面的代码曾经是好的。但现在我发现浏览器不缓存 .php 文件。为什么?我的网站在共享主机上。主人从不回复。除了 .php 之外,所有其他扩展文件(例如 html、js、css、png)都可以很好地缓存。

Header unset Pragma
FileETag None
Header unset ETag

# 1 YEAR
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
Header set Cache-Control "public"
Header set Expires "Thu, 15 Apr 2015 20:00:00 GMT"
Header unset Last-Modified
</filesMatch>


# 2 HOURS
<filesMatch ".(html|htm|xml|txt|xsl|php)$">
Header set Cache-Control "max-age=7200, public"

</filesMatch>

<filesMatch ".(js|css)$">
Header set Cache-Control "public"
Header set Expires "Thu, 15 Apr 2014 20:00:00 GMT"
Header unset Last-Modified
</filesMatch>
4

1 回答 1

1

因为 PHP 文件每次运行时都会生成不同的输出,所以服务器不会为输出发送缓存命令:下次可能会有所不同。

您可以通过在 PHP 生成的输出中包含 Cache-control 标头或通过从 PHP 脚本中指定 ContentType 标头来强制缓存。

哪种方法更好取决于您的脚本在做什么。无论哪种方式,如果您的应用程序需要,您都可以对缓存进行精细控制。

于 2013-06-16T05:21:51.773 回答