apache设置静态元素过期时间

当用户访问网站时,浏览器会缓存网页的图片等,以方便下次访问该网页时不用再次加载图片等文件提高访问速度,但缓存不能一直存在,故应该设置静态元素过期时间,指定某些缓存文件在指定时间后需要再次被加载。

  • 修改虚拟主机配置文件
    添加静态元素过期时间配置
[root@zhounan1 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
    DocumentRoot "/data/www/phpems.com"
    ServerName phpems.com
    ServerAlias aphpems.com www.zhounan.com
    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteCond %{HTTP_HOST} !^phpems.com$
        RewriteRule ^/(.*)$ http://phpems.com/$1 [R=301,L]
    </IfModule>
<IfModule mod_expires.c>
    ExpiresActive on 
    ExpiresByType image/gif  "access plus 1 days"
    ExpiresByType image/jpeg "access plus 24 hours"
    ExpiresByType image/png "access plus 24 hours"
    ExpiresByType text/css "now plus 2 hour"
    ExpiresByType application/x-javascript "now plus 2 hours"
    ExpiresByType application/javascript "now plus 2 hours"
    ExpiresByType application/x-shockwave-flash "now plus 2 hours"
    ExpiresDefault "now plus 0 min"
</IfModule>
    ErrorLog "logs/phpems.com-error_log"
    SetEnvIf Request_URI ".*\.gif$" img
    SetEnvIf Request_URI ".*\.jpg$" img
    SetEnvIf Request_URI ".*\.png$" img
    SetEnvIf Request_URI ".*\.bmp$" img
    SetEnvIf Request_URI ".*\.swf$" img
    SetEnvIf Request_URI ".*\.js$" img
    SetEnvIf Request_URI ".*\.css$" img
    CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/phpems.com-access_%Y%m%d.log 86400" combined env=!img
</VirtualHost>

定义gif jpeg png css等文件设置过期时间
1days 一天
24 hours 24小时
2hous 2小时
now plus 0 min 非被定义的都不设置过期时间
在这里插入图片描述

  • 加载apache静态元素过期时间模块
[root@zhounan1 ~]# vim /usr/local/apache2.4/conf/httpd.conf
##########搜索expires###############
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so #删除改行#号
LoadModule headers_module modules/mod_headers.so

在这里插入图片描述

  • 刷新配置文件查看模块
[root@zhounan1 ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@zhounan1 ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@zhounan1 ~]# 
[root@zhounan1 ~]# /usr/local/apache2.4/bin/apachectl -M |grep expires
 expires_module (shared) #加载模块成功
  • 测试静态元素过期时间
    date:fri 静态元素访问时间
    cache-control 多久过期
    expires:sat 静态元素过期到期时间
    在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/oy5348/article/details/84873275