Php 如果应用程序未设置,则添加Apache标头
我试图控制某个目录中文件的缓存。我希望默认缓存时间为15分钟,但如果需要,我希望让应用程序更改它。例如,我可能有一个PHP脚本,我希望每1分钟刷新一次,因此我将在PHP中为该脚本设置缓存控制头。但对于所有其他文件,我只希望缓存时间为15分钟,其中一些是静态文件,所以我不能在PHP中设置默认缓存时间 我当前在Apache配置中有以下内容:Php 如果应用程序未设置,则添加Apache标头,php,apache,Php,Apache,我试图控制某个目录中文件的缓存。我希望默认缓存时间为15分钟,但如果需要,我希望让应用程序更改它。例如,我可能有一个PHP脚本,我希望每1分钟刷新一次,因此我将在PHP中为该脚本设置缓存控制头。但对于所有其他文件,我只希望缓存时间为15分钟,其中一些是静态文件,所以我不能在PHP中设置默认缓存时间 我当前在Apache配置中有以下内容: <Directory /> Options FollowSymLinks AllowOverride None Header
<Directory />
Options FollowSymLinks
AllowOverride None
Header set Cache-Control "max-age=900"
</Directory>
选项如下符号链接
不允许超限
标题集缓存控制“最大年龄=900”
这在99%的情况下非常有效,我只需要15分钟的缓存。但是,如果我的PHP脚本设置了缓存控制头,那么这个设置将覆盖它
我看过mod_头的文档,没有一个设置(unset、add、append等)能满足我的需要
提前感谢。根据php手册
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>
通过发送上面的标题,您应该覆盖可能导致缓存脚本输出的任何设置。根据php手册
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>
通过发送上面的标题,您应该覆盖任何可能导致脚本输出被缓存的设置。请查看mod_expires。文档说它不会覆盖由PHP脚本创建的标题: “当Expires标头已经是由生成的响应的一部分时 服务器,例如由CGI脚本生成或从 作为源服务器,此模块不会更改或添加过期或 缓存控制头。“ 以下是mod_expires的配置示例:
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault A600
ExpiresByType image/gif "access plus 1 day"
ExpiresByType image/jpeg "access plus 1 day"
ExpiresByType image/png "access plus 1 day"
ExpiresByType image/x-icon "access plus 1 day"
<FilesMatch "\.(php|php4)$">
ExpiresByType text/html "now"
</FilesMatch>
</IfModule>
过期于
到期默认A600
ExpiresByType image/gif“访问加1天”
过期按类型图像/jpeg“访问加1天”
ExpiresByType图像/png“访问加1天”
ExpiresByType图像/x图标“访问加1天”
ExpiresByType文本/html“立即”过期
取自
祝你好运 看一看mod_expires。文档说它不会覆盖由PHP脚本创建的标题: “当Expires标头已经是由生成的响应的一部分时 服务器,例如由CGI脚本生成或从 作为源服务器,此模块不会更改或添加过期或 缓存控制头。“ 以下是mod_expires的配置示例:
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault A600
ExpiresByType image/gif "access plus 1 day"
ExpiresByType image/jpeg "access plus 1 day"
ExpiresByType image/png "access plus 1 day"
ExpiresByType image/x-icon "access plus 1 day"
<FilesMatch "\.(php|php4)$">
ExpiresByType text/html "now"
</FilesMatch>
</IfModule>
过期于
到期默认A600
ExpiresByType image/gif“访问加1天”
过期按类型图像/jpeg“访问加1天”
ExpiresByType图像/png“访问加1天”
ExpiresByType图像/x图标“访问加1天”
ExpiresByType文本/html“立即”过期
取自
祝你好运 我在Apache中的设置将覆盖我在PHP中设置的任何内容。所以,不幸的是,这对我不起作用。我很确定这个解决方案必须涉及Apache配置。我在Apache中的设置将覆盖我在PHP中设置的任何内容。所以,不幸的是,这对我不起作用。我敢肯定,解决方案必须涉及Apache配置。