为整个服务器设置ExpiresByType

时间:2013-09-10 07:13:25

标签: apache

我运行的服务器上有几个网站。我想为所有这些网站实现默认缓存控制行为。我可以通过将以下代码添加到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>

1 个答案:

答案 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

在“上下文”中,我们可以读到该指令可以在多个地方设置,包括服务器配置。所以这回答了你的问题:从理论上说,它应该有效。你应该检查其余的指令,以确保(或只测试它)。