【发布时间】:2014-03-06 23:09:30
【问题描述】:
我以前用过这个;
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "now plus 2 weeks"
// Lots omitted here
</IfModule>
还有这个;
<IfModule mod_headers.c>
<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|JPG)$">
Header set Cache-Control "max-age=1209600"
</filesMatch>
// Lots omitted here
</IfModule>
我可以通过内容类型设置过期时间,我可以通过文件扩展名设置我希望的任何标题。
但这些似乎都不允许您按内容类型设置任何您想要的标题。
我想根据响应的内容类型设置缓存控制标头 - 请注意,这与文件扩展名不同。我有“友好的 URL”,所以filesMatch 没有文件扩展名,所以没有文件扩展名,但内容类型是 text/html。
如何为特定内容类型设置缓存控制标头?
【问题讨论】:
-
您的响应中是否存在 Cache-Control 标头?
-
"如何为特定的内容类型设置缓存控制标头?" - 这就是
ExpiresByType指令的作用(具体来说,它设置了Cache-Control标头的max-age指令,以及Expires标头以实现向后兼容性)。但是,如果您想在Cache-Control标头中设置“任何标头”或特定指令,那么您将需要不同的方法。
标签: apache header apache2 content-type