apache模块mod_expires配置

本文详细介绍Apache的mod_expires模块配置方法,该模块通过设置Expires和Cache-Control头部信息来控制资源缓存策略,有效减少客户端请求频次,提高网站响应速度。文中提供了一个具体的配置示例,并解释了access与modification两种不同过期时间计算方式的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

apache模块mod_expires配置

前提:apache安装前支持DSO动态模块加载

mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的。

mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令:
"access plus 1 month"
"access plus 4 weeks"
"now plus 30 days"
"modification plus 5 hours 3 minutes"
A2592000
M604800
access、now及A 三种写法的意义相同,指过期时间从访问时开始计算。
modification及M 的意义相同,指过期时间是以被访问文件的最后修改时间开始计算。
所以,后一种写法只对静态文件起作用,而由脚本生成的动态页面不受它的作用。
一般情况下,我们都使用access方式,下面是一个我使用的配置:

安装mod_expires
cd httpd-2.2.6/modules/metadata/
/usr/local/apache/bin/apxs -c -i -a mod_expires.c

<IfModule mod_expires.c>
   ExpiresActive On
   ExpiresDefault A600
   ExpiresByType image/x-icon A2592000
   ExpiresByType application/x-javascript A604800
   ExpiresByType text/css A604800
   ExpiresByType image/gif A2592000
   ExpiresByType image/png A2592000
   ExpiresByType image/jpeg A2592000
   ExpiresByType text/plain A86400
   ExpiresByType application/x-shockwave-flash A2592000
   ExpiresByType video/x-flv A2592000
   ExpiresByType application/pdf A2592000
   ExpiresByType text/html A600
</IfModule>

或者:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 12 hours"
ExpiresByType text/html "access plus 3 days"
ExpiresByType text/plain "access plus 3 days"
ExpiresByType text/css  "access plus 7 days"
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/x-icon "access plus 30 days"
ExpiresByType video/x-flv  "access plus 30 days"
ExpiresByType application/x-shockwave-flash "access plus 30 days"
</IfModule>



编译错误:
Warning!  dlname not found in /usr/local/apache/modules/mod_expires.la.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache/modules/mod_expires.so
chmod: cannot access `/usr/local/apache/modules/mod_expires.so': No such file or directory
apxs:Error: Command failed with rc=65536
解决办法:
gcc -shared -o /usr/local/apache/modules/mod_expires.so /root/lamp/httpd-2.2.14/modules/metadata/mod_expires.o
/usr/local/apache/bin/apxs -i -a -c /root/lamp/httpd-2.2.14/modules/metadata/mod_expires.c


具体细节参考apache手册

转载于:https://www.cnblogs.com/feihongwuhen/archive/2009/11/27/7171060.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值