Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 使用mod header终止标头和缓存控制_Apache_.htaccess - Fatal编程技术网

Apache 使用mod header终止标头和缓存控制

Apache 使用mod header终止标头和缓存控制,apache,.htaccess,Apache,.htaccess,我在我的htaccess文件中添加了expire头,所以仍然需要为缓存控制添加mod_头吗? 我的过期标题是: <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 month" ExpiresByType image/x-icon "access plus 1 year" ExpiresByType image/gif "access plus 1 month" ExpiresByT

我在我的htaccess文件中添加了expire头,所以仍然需要为缓存控制添加mod_头吗? 我的过期标题是:

<IfModule mod_expires.c>

ExpiresActive On 

ExpiresDefault "access plus 1 month"

ExpiresByType image/x-icon "access plus 1 year"

ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"

ExpiresByType text/css "access 1 month"

ExpiresByType application/javascript "access plus 1 year"
</IfModule>
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=604800, public"
</FilesMatch>


<FilesMatch "\.(js|css|swf)$">
    Header set Cache-Control "max-age=604800, public"
</FilesMatch>

过期于
ExpiresDefault“访问加1个月”
过期按类型图像/x图标“访问加1年”
ExpiresByType image/gif“访问加1个月”
ExpiresByType图像/png“访问加1个月”
ExpiresByType图像/jpg“访问加1个月”
过期按类型图像/jpeg“访问加1个月”
ExpiresByType文本/css“访问1个月”
ExpiresByType应用程序/javascript“访问加1年”
我的缓存控制模块头是:

<IfModule mod_expires.c>

ExpiresActive On 

ExpiresDefault "access plus 1 month"

ExpiresByType image/x-icon "access plus 1 year"

ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"

ExpiresByType text/css "access 1 month"

ExpiresByType application/javascript "access plus 1 year"
</IfModule>
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=604800, public"
</FilesMatch>


<FilesMatch "\.(js|css|swf)$">
    Header set Cache-Control "max-age=604800, public"
</FilesMatch>


标题集缓存控制“最大年龄=604800,公共”
标题集缓存控制“最大年龄=604800,公共”
让我们读一下:

此模块控制过期HTTP头的设置和 服务器中缓存控制HTTP头的最大年龄指令 响应。到期日期可以设置为相对于 上次修改源文件的时间,或客户端的时间 进入

因此,答案是:视情况而定

mod_expires设置max age指令,但不设置告知客户端缓存是公共缓存还是私有缓存的指令。如果未定义任何内容,我相信缓存将尽最大努力确定是否要缓存此特定响应。另一方面,无法使用mod_头设置Expires头


我认为在您的情况下,mod_头规则已经过时,但您可能希望检查浏览器中的请求,看看缓存是否如您所期望的那样发生。

上述代码真正面临的问题是什么?