2012-08-11 43 views
1

我使用的是Magento 1.7,我最近將我的商店轉換爲新的雲計算主機。爲了檢查我的商店性能,我運行了幾個頁面速度測試。每個結果都給了我相同的高優先級:啓用瀏覽器緩存!Speedtest高優先級:啓用瀏覽器緩存

到目前爲止,我已經在系統 - >緩存中激活了每個緩存。所以我不知道我的店爲什麼不使用瀏覽器緩存。

通過切換到新的主機,我刪除了存儲在/var目錄中的文件。這是在一個簡短的教程中將Magento商店切換到服務器中提到的。

有誰知道如何解決這個問題?

謝謝!

回答

9

這個建議與Magento的緩存無關。

在嘗試刷新之前,可以發送瀏覽器緩存指令告訴客戶端瀏覽器在本地客戶端瀏覽器緩存中保留頁面對象(如圖像,媒體內容,頁面html,樣式表,JavaScript等)多久。這些指令通過DSO模塊(apache web服務器),服務器配置和.htaccess文件條目啓用。

通過Magento的安裝.htaccess文件具有以下部分,其如果你的Web服務器加載mod_expires DSO Module

<IfModule mod_expires.c> 

############################################ 
## Add default Expires header 
## http://developer.yahoo.com/performance/rules.html#expires 

    ExpiresActive On 
    ExpiresDefault "access plus 1 year" 

</IfModule> 

More information from Yahoo on setting Expires directives

ADDED

如何判斷,才能激活什麼模塊正在加載。這隻適用於php解釋器通過在Apache中加載mod_php5 DSO模塊來運行。創建phpinfo()配置轉儲頁面,查找以下:

enter image description here

一旦到期模塊工作,重視你的.htaccess項,你可以使用像插件在Firefox的LiveHTTPHeaders查看HTTP服務器類似於如下請求/響應標頭:

enter image description here

+0

因此,例如這是Magento的Demostore一個SPEEDTEST: https://developers.google.com/speed/pagespeed/insights#url=http_3A_2F_2Fdemo .magentocommerce.com_2F&mobile = false 在左側的紅色高優先級部分「Browser-Caching」下方。通過點擊這個建議,你會看到所有不使用過期日期的資源清單。 (這和我自己的商店一樣)。爲了解決這個問題,我在那裏列出的每個項目的.htaccess中設置了到期日期?或者是否有可能爲我的整個Magento商店設置全球?謝謝! – 2012-08-11 20:06:33

+0

還是有一個Magento社區使用的通用解決方案? – 2012-08-11 20:16:03

+0

提供的鏈接是演示網絡商店,可能沒有在.htaccess中打開expires功能。爲了解決這個問題,確保你的.htaccess文件中有上述代碼片段中的條目,它將'ExpiresDefault'設置爲對象訪問日期**加上一年**並且轉換'ExpiresActive On'。這是常見的解決方案。 – 2012-08-11 20:48:59

2

複製並在.htaccess文件的末端粘貼到改善laverage瀏覽器緩存。

enter image description here

## EXPIRES CACHING ## 
 
<IfModule mod_expires.c> 
 
ExpiresActive On 
 
ExpiresByType image/jpg "access 1 year" 
 
ExpiresByType image/jpeg "access 1 year" 
 
ExpiresByType image/gif "access 1 year" 
 
ExpiresByType image/png "access 1 year" 
 
ExpiresByType text/css "access 1 month" 
 
ExpiresByType application/pdf "access 1 month" 
 
ExpiresByType application/x-javascript "access 1 month" 
 
ExpiresByType application/x-shockwave-flash "access 1 month" 
 
ExpiresByType image/x-icon "access 1 year" 
 
ExpiresDefault "access 2 days" 
 
</IfModule> 
 
## EXPIRES CACHING ##