首先需要有 mod_headers.so 这个模块的支持。 可以查看一下apache的modules 目录是否有这个模块
ls /usr/local/apache2/modules/mod_headers.so
如果没有,则看是否是静态编译的,查看方法:
/usr/local/apache2/bin/apachectl -l 如果是静态编译的会有mod_headers.c 那一行。否则需要重新编译apache或者扩展模块的形式编译该模块。
下面配置httpd.conf 实现对静态文件的过期时间- <ifmodule mod_headers.c>
- <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
- Header set Cache-Control "max-age=604800, public"
- </FilesMatch>
- <FilesMatch "\.(xml|txt)$">
- Header set Cache-Control "max-age=18000, public, must-revalidate"
- </FilesMatch>
- <FilesMatch "\.(html|htm|php)$">
- Header set Cache-Control "max-age=3600, must-revalidate"
- </FilesMatch>
- </ifmodule>
复制代码 其中 max-age 后面的数字单位为s, 3600 为一小时, 建议至少设置为7200.
|