React apache 静态文件缓存实现(亲测可用)

在. .haccess 中配置直接添加  

设置了   Cache-Control 会覆盖 Expires 的过期时间

效果就是,关掉浏览器重新打开访问会读取  Cache-Control(from disk cache) 缓存 从硬盘加载,  直接刷新访问(不是强刷)的情况下会读取 from memory cache

<FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|woff|js|css|swf)$">
	Header set Cache-Control "max-age=31536000"
    #31536000 秒等于1年
	FileETag MTime Size
</FilesMatch>

<IfModule expires_module>
    #打开缓存
    ExpiresActive on 
    ExpiresByType text/html "access plus 12 months"
    ExpiresByType image/gif  "access plus 12 months"
    ExpiresByType image/svg  "access plus 12 months"
    ExpiresByType image/jpeg "access plus 12 months"
    ExpiresByType image/png "access plus 12 months"
    ExpiresByType text/css "now plus 12 months"
    ExpiresByType application/x-javascript "now plus 12 months"
    ExpiresByType application/x-shockwave-flash "now plus 12 months”
    #其他数据不缓存
    ExpiresDefault "now plus 0 min"
  </IfModule>






<IfModule expires_module>
# 启用有效期控制
ExpiresActive On
# 图片
ExpiresByType image/jpg "access plus 1 month" 
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
# css/js
ExpiresByType text/css "access plus 4 weeks"
ExpiresByType text/javascript "access plus 4 weeks"
# html
ExpiresByType text/html "access plus 2 days"
  </IfModule>
  #开启缓存
    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/x-shockwave-flash "now plus 2 hours”
    #其他数据不缓存
    ExpiresDefault "now plus 0 min"
缓存起始点
access   从当前访问时间开始
now (equivalent to 'access')  相当于access
modification   从修改时间算起
缓存时间单位
years
months
weeks
days
hours
minutes
seconds

前提要打开 这几个插件  在  httpd.conf 中:

LoadModule expires_module modules/mod_expires.so

LoadModule cache_module modules/mod_cache.so
LoadModule cache_disk_module modules/mod_cache_disk.so

这个 开启:

在apache  中开启:

这样就 完成了.如果实在本地呢  也可以直接在  httpd.conf 中加 

原文地址:https://www.cnblogs.com/lllomh/p/14991879.html