Я пытался настроить кэширование для статических файлов моего сайта, таких как 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 месяц»
Любое предложение приветствуется.
Ты можешь использовать 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"
Других решений пока нет …