我运行的服务器上有几个网站。我想为所有这些网站实现默认缓存控制行为。我可以通过将以下代码添加到httpd.conf来执行此操作,还是必须单独更改每个虚拟主机的配置?
<IfModule mod_expires.c>
ExpiresActive on
# Your document html
ExpiresByType text/html "access plus 12 hours"
# Media: images, video, audio
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# CSS and JavaScript
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
# Default
ExpiresDefault "access plus 1 month"
</IfModule>
答案 0 :(得分:4)
可以在Apache HTTP Server web site中找到文档。在左窗格的“文档”部分中,单击您的服务器版本。 I'll assume 2.4。由于您正在寻找特定指令的参考,您可以单击Directives链接。你会得到一个按字母顺序排列的索引。
我不会复制完整的信息,只是ExpiresActive
的一小部分样本。重要的是top table:
Description: Enables generation of Expires headers Syntax: ExpiresActive On|Off Default: ExpiresActive Off Context: server config, virtual host, directory, .htaccess Override: Indexes Status: Extension Module: mod_expires
在“上下文”中,我们可以读到该指令可以在多个地方设置,包括服务器配置。所以这回答了你的问题:从理论上说,它应该有效。你应该检查其余的指令,以确保(或只测试它)。