1

我一直在尝试为我的站点的静态文件(如 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 个月”

任何建议表示赞赏。

4

1 回答 1

0

您可以使用ExpiresByType指令:

ExpiresActive on
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
于 2014-09-19T07:55:25.793 回答