我一直在尝试为我的站点的静态文件(如 jpg、png、css 等)设置缓存,但到目前为止没有成功,我发现 PHP 的配置正在接管 .htaccess 是配置。
我已经验证了 mod_expires.so 在我的 httpd.conf 中没有被注释。
我尝试在 .htaccess 中关注但徒劳无功。
<IfModule mod_expires.c>
ExpiresActive On
<FilesMatch "\.(jpe?g|png|gif|js|css|ttf|eto|svg|woff|otf)$">
ExpiresDefault "access plus 1 month"
</FilesMatch>
</IfModule>
甚至尝试没有成功
<FilesMatch "\.(flv|gif|jpg|jpeg|png|ico)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
然后我发现我的 php.ini 已将session.cache_limiter = nocache
其更改为,session.cache_limiter = public
并且session.cache_expire=180
在更改 php.ini 中的此配置并重新启动 apache 后,我发现图像的响应标头更改如下
HTTP/1.1 200 OK
Date: Fri, 19 Sep 2014 07:33:58 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.2.10
Expires: Fri, 19 Sep 2014 10:33:58 GMT
Cache-Control: public, max-age=10800
Last-Modified: Mon, 05 Dec 2011 19:08:22 GMT
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
我想要做的是缓存图像和 css/js 文件以供“访问加 1 个月”
任何建议表示赞赏。