У меня установлен mod_expires в Apache на CentOS VPS. Он тоже указан в загруженных модулях, я проверил этой командой /usr/local/apache/bin/httpd -l
Когда я помещаю код в .htaccess, а затем анализирую свой сайт с помощью Скорость страницы Google или Gmetrix, они оба указывают на истечение 1 часа для файлов css, jpg, png, игнорируя код .htaccess, который устанавливает 1 год для файлов jpg, png и 1 месяц для css.
Я удалил <ifmodule>
из .htaccess, чтобы дважды проверить, что mod_expires работает, и мой сайт не ответил с внутренней ошибкой сервера 500. Значит, должно работать!
Вот мой .htaccess:
RewriteOptions inherit
RewriteEngine On
RewriteBase /
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
Я что-то упускаю? Есть предложения, ребята?
mod_expires не переопределяет заголовки Expires, если они уже присутствуют из того, что их изначально сгенерировало (динамическое приложение, прокси и т. д.)