2014-10-28 2 views
0

У меня есть это в моем файле .htaccess.Использование кэширования браузера в .htaccess не работает

<IfModule mod_expires.c> 

    ExpiresActive on 
    ExpiresDefault          "access plus 1 month" 

    # CSS 
    ExpiresByType text/css        "access plus 1 month” 

    # Data interchange 
    ExpiresByType application/atom+xml     "access plus 1 hour" 
    ExpiresByType application/rdf+xml     "access plus 1 hour" 
    ExpiresByType application/rss+xml     "access plus 1 hour" 

    ExpiresByType application/json      "access plus 0 seconds" 
    ExpiresByType application/ld+json     "access plus 0 seconds" 
    ExpiresByType application/schema+json    "access plus 0 seconds" 
    ExpiresByType application/vnd.geo+json    "access plus 0 seconds" 
    ExpiresByType application/xml      "access plus 0 seconds" 
    ExpiresByType text/xml        "access plus 0 seconds" 

    # Favicon (cannot be renamed!) and cursor images 
    ExpiresByType image/vnd.microsoft.icon    "access plus 1 week" 
    ExpiresByType image/x-icon       "access plus 1 week" 

    # HTML 
    ExpiresByType text/html        "access plus 2 day” 

    # JavaScript 
    ExpiresByType application/javascript    "access plus 1 month” 
    ExpiresByType application/x-javascript    "access plus 1 year" 
    ExpiresByType text/javascript      "access plus 1 year" 

    # Manifest files 
    ExpiresByType application/manifest+json    "access plus 1 year" 

    ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" 
    ExpiresByType text/cache-manifest     "access plus 0 seconds" 

    # Media files 
    ExpiresByType audio/ogg        "access plus 1 month" 
    ExpiresByType image/bmp        "access plus 1 month" 
    ExpiresByType image/gif        "access plus 1 month" 
    ExpiresByType image/jpeg       "access plus 1 month" 
    ExpiresByType image/png        "access plus 1 month" 
    ExpiresByType image/svg+xml       "access plus 1 month" 
    ExpiresByType video/mp4        "access plus 1 month" 
    ExpiresByType video/ogg        "access plus 1 month" 
    ExpiresByType video/webm       "access plus 1 month" 

    # Web fonts 

    # Embedded OpenType (EOT) 
    ExpiresByType application/vnd.ms-fontobject   "access plus 1 month" 
    ExpiresByType font/eot        "access plus 1 month" 

    # OpenType 
    ExpiresByType font/opentype       "access plus 1 month" 

    # TrueType 
    ExpiresByType application/x-font-ttf    "access plus 1 month" 

    # Web Open Font Format (WOFF) 1.0 
    ExpiresByType application/font-woff     "access plus 1 month" 
    ExpiresByType application/x-font-woff    "access plus 1 month" 
    ExpiresByType font/woff        "access plus 1 month" 

    # Web Open Font Format (WOFF) 2.0 
    ExpiresByType application/font-woff2    "access plus 1 month" 

    # Other 
    ExpiresByType text/x-cross-domain-policy   "access plus 1 week" 

</IfModule> 

Но gtmetrix он все еще говорит: The following cacheable resources have a short freshness lifetime. Specify an expiration at least one week in the future for the following resources

+1

Каковы следующие ресурсы: только CSS, все? Когда вы открываете страница в браузере с открытой вкладкой сетевых инструментов разработчика, что делать в разделе заголовков Repsonse файлов говорится? –

+0

Говорит ли gtmetrix, какие файлы не кэшируются? [Скорость страницы Google] (https://developers.google.com/speed/pagespeed/insights/) перечисляет файлы без/с слишком низким кэшированием. – Reeno

+0

Пробовал скорость страницы Google, она дает те же результаты. Использовать кеширование браузера для jpg, css, js-файлов – Mareks

ответ

0

Синтаксис файла Htaccess правильно. Пожалуйста, убедитесь, что вы

  • места файла Htaccess в нужной папке (т.е. в корневой папке вашего проекта)
  • установлен модуль mod_expires и включен (см how to check if mod_expires is enabled
  • установили желаемые истечь время все ресурсы (на какие ресурсы выделяются «следующие ресурсы»). Вы установили заголовок expire на год для некоторых ресурсов)
+0

Спасибо за быстрый ответ, я пробовал эту команду в терминале: apachectl -M оба mime и заголовки разделены, не видят, что модуль expires где-то – Mareks

+0

Скомпилированный в модулях: core.c mod_so .c http_core.c prefork.c – Mareks

+0

Если у вас нет expires_module в вашем списке, он не установлен/не активирован. Попросите вашего провайдера установить/включить его. И, как сказал Рено, вы должны поместить свой файл .htaccess в папку, на которую указывает ваш домен. –

Смежные вопросы