apache — конфигурация PHP, перекрывающая заголовки кэширования .htaccess

Я пытался настроить кэширование для статических файлов моего сайта, таких как jpg, png, css и т. Д., Но пока не добился успеха, я понял, что конфигурация PHP принимает .htaccess — config.

Я убедился, что 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 месяц»

Любое предложение приветствуется.

1

Решение

Ты можешь использовать 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"
0

Другие решения

Других решений пока нет …