Speedtest高优先级:启用浏览器缓存

时间:2012-08-11 17:56:31

标签: magento caching e-commerce browser-cache

我正在使用Magento 1.7,我最近将我的商店改为新的云计算主机。为了检查我的商店表现,我运行了几个pagespeed测试。每个结果都给了我相同的高优先级:启用浏览器缓存!

到目前为止,我已经在系统中激活了每个缓存 - >缓存。所以我不知道为什么我的商店不使用浏览器缓存。

通过切换到新的Hoster,我删除了存储在/var目录中的文件。在将Magento商店切换到服务器的简短教程中提到了这一点。

有谁知道如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:9)

此建议与Magento的缓存无关。

可以发送浏览器缓存指令,告诉客户端浏览器在尝试刷新之前,在本地客户端浏览器缓存中保留页面对象(如图像,媒体内容,页面html,样式表,javascripts等)需要多长时间。这些指令通过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

如何判断正在加载哪些模块。这只适用于在Apache中加载 mod_php5 DSO模块运行php解释器时。创建phpinfo()配置转储页面并查找以下内容:

enter image description here

一旦expires模块工作并注意你的.htaccess条目,你可以在Firefox中使用像LiveHttpHeaders这样的插件来查看类似于以下内容的HTTP服务器请求/响应头:

enter image description here

答案 1 :(得分:3)

复制并粘贴.htaccess文件的末尾以改善浏览器缓存。

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 ##