@fanofthefate

Оптимизация PageSpeed Insights, как увеличить время кэшеирования изображений и документов файле .htaccess?

В PageSpeed Insights в рекомендациях указанно увеличить время кэшеирования изобржений и фалов с 60 минут до Более большого значения. Добавил соответствующие детективы в файл HTACCESS в корневой папке сайта, но результат нет, почему не увеличивается время кэшеирования если все команды прописанны ?

Код файла .HTACCESS

Header append Cache-Control "public, no-transform"

Header set Cache-Control "max-age=2592000, public"

Header set Cache-Control "max-age=2592000, public"

Header set Cache-Control "max-age=172800, public, must-revalidate"

Header set Cache-Control "max-age=172800, private, must-revalidate"

# ----------------------------------------------------------------------
# Улучшаем восприятие сайта пользователями IE
# ----------------------------------------------------------------------
# Заставляем IE не переходить в режим совместимости в некоторых случаях
# https://github.com/rails/rails/commit/123eb25#comm...

# mod_headers не умеет определять тип данных (content-type), но нам нужно отсылать этот заголовок только для определенных типов файлов

Header unset X-UA-Compatible


# ----------------------------------------------------------------------
# Кроссдоменный AJAX
# ----------------------------------------------------------------------
# Обслуживание кроссдоменных Ajax запросов, по умолчанию отключено.
# enable-cors.org
# code.google.com/p/html5security/wiki/CrossOriginRe...

#
# Header set Access-Control-Allow-Origin "*"
#

# ----------------------------------------------------------------------
# Кроссдоменные изображения (CORS-enabled images) (@crossorigin)
# ----------------------------------------------------------------------
# Отсылать CORS заголовки, если браузер требует их, для изображений по умолчанию включено.
# developer.mozilla.org/en/CORS_Enabled_Image
# blog.chromium.org/2011/07/using-cross-domain-image...
# hacks.mozilla.org/2011/11/using-cors-to-load-webgl...
# wiki.mozilla.org/Security/Reviews/crossoriginAttribute

# mod_headers, ну почему ты не определяешь Content-Type?!

SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS


# ----------------------------------------------------------------------
# Gzip сжатие
# ----------------------------------------------------------------------

# Включаем deflate для не стандартных заголовков:
# developer.yahoo.com/blogs/ydn/posts/2010/12/pushin...

SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding

AddOutputFilterByType DEFLATE text/html text/plain text/css \
application/json text/javascript application/javascript application/x-javascript text/x-js text/ecmascript application/ecmascript text/vbscript text/fluffscript \
text/xml application/xml text/x-component \
application/xhtml+xml application/rss+xml application/atom+xml \
image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype


# ----------------------------------------------------------------------
# Задаем Expires заголовки (срок актуальности файла) (для лучшего кэширования)
# ----------------------------------------------------------------------
# Указываются заголовки с большим сроком "годности",
# предполагается, что вы используете кэш на основе названий файлов (all.css?v001).
# В дополнение, учтите, что старые прокси могут кэшировать не верно
# www.stevesouders.com/blog/2008/08/23/revving-filen...

# Если вы не используете названия файлов для контроля версий, измените кэш для CSS и JS, например на
# "access plus 1 week".

ExpiresActive on

# Задаем значение по умолчанию (для всех файлов)
ExpiresDefault "access plus 1 month"

# cache.appcache нельзя кэшировать в FF 3.6 (спасибо Remy ~Introducing HTML5)

# Ваш html документ

ExpiresDefault "access plus 0 seconds"

ExpiresByType text/html "access plus 0 seconds"

# Данные
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"

# Рассылка
ExpiresByType application/rss+xml "access plus 1 week"
ExpiresByType application/atom+xml "access plus 1 week"

# Favicon (не может быть переименован)

ExpiresDefault "access plus 1 week"

ExpiresByType image/x-icon "access plus 1 week"

# Медиа: изображения, видео, аудио

ExpiresDefault "access plus 1 year"

ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType video/ogg "access plus 1 year"
ExpiresByType audio/ogg "access plus 1 year"
ExpiresByType video/mp4 "access plus 1 year"
ExpiresByType video/webm "access plus 1 year"

# HTC файлы (css3pie)
ExpiresByType text/x-component "access plus 1 month"

# Веб-шрифты

ExpiresDefault "access plus 1 year"

ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

# CSS и JavaScript

ExpiresDefault "access plus 1 year"

ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"

# Статичные ресурсы

ExpiresDefault "access plus 1 year"

ExpiresByType application/x-shockwave-flash "access plus 1 year"
ExpiresByType application/pdf "access plus 1 year"
ExpiresByType application/msword "access plus 1 year"
ExpiresByType application/rtf "access plus 1 year"
ExpiresByType application/vnd.ms-excel "access plus 1 year"
ExpiresByType application/vnd.ms-powerpoint "access plus 1 year"

# ----------------------------------------------------------------------
# Удаление ETag + Cache-Control
# ----------------------------------------------------------------------
# FileETag None бывает не достаточно (для некоторых серверов).

Header unset ETag
# Так как мы посылаем expires заголовки с большим сроком,
# мы не используем ETag для статичного контента.
# developer.yahoo.com/performance/rules.html#etags
FileETag None

## Браузер должен обновлять документ после заданного в секундах времени, которое задается в Cache-Control.

Header set Cache-Control "max-age=0, private, must-revalidate"

Header set Cache-Control "max-age=31556926, public"

Header set Cache-Control "max-age=31556926, public"

Header set Cache-Control "max-age=31556926, public"

Header set Cache-Control "max-age=31556926, public"

Header set Cache-Control "no-transform"

# ----------------------------------------------------------------------
# Замена "www.example.com -> example.com".

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

# ----------------------------------------------------------------------
# UTF-8 кодирование
# ----------------------------------------------------------------------
# Используем UTF-8 кодировку для всех переданных text/plain или text/html
AddDefaultCharset utf-8
  • Вопрос задан
  • 499 просмотров
Пригласить эксперта
Ответы на вопрос 1
@fanofthefate Автор вопроса
Заметил зависимость что не кэшеируются файлы у которых в названии содержится символ @ пример "img4@2x.png"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы