2014-10-28 148 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的Headers部分說? – 2014-10-28 14:38:06

+0

是否gtmetrix說哪些文件沒有被緩存? [Google Page Speed](https://developers.google.com/speed/pagespeed/insights/)列出了沒有/緩存太少的文件。 – Reeno 2014-10-28 15:05:35

+0

嘗試谷歌頁面速度,它給出了相同的結果。利用瀏覽器緩存jpg,css,js文件 – Mareks 2014-10-28 15:14:47

回答

0

您的htaccess文件的語法是否正確。請確保您

  • 發生在正確的文件夾中的htaccess文件(即項目的根文件夾)
  • 已安裝並啓用了模塊指定mod_expires(見how to check if mod_expires is enabled
  • 設定所需的到期時間你所有的資源(哪些資源被「下列資源」所佔用?你已經爲某些資源設置了過期標題長達一年)
+0

感謝您的快速回復,我在終端中試過這個命令:apachectl -M mime和頭文件都是共享的,不要在任何地方看到過期模塊 – Mareks 2014-10-28 15:01:06

+0

編譯模塊: core.c mod_so .c http_core.c prefork.c – Mareks 2014-10-28 15:51:56

+0

如果您的列表中沒有expires_module,則不會安裝/啓用它。要求您的提供商安裝/啓用它。而且,正如Reeno所說,你必須將你的.htaccess文件放到你的域指向的文件夾中。 – 2014-10-31 23:48:34