我正在使用Magento 1.7,我最近将我的商店改为新的云计算主机。为了检查我的商店表现,我运行了几个pagespeed测试。每个结果都给了我相同的高优先级:启用浏览器缓存!
到目前为止,我已经在系统中激活了每个缓存 - >缓存。所以我不知道为什么我的商店不使用浏览器缓存。
通过切换到新的Hoster,我删除了存储在/var
目录中的文件。在将Magento商店切换到服务器的简短教程中提到了这一点。
有谁知道如何解决这个问题?
谢谢!
答案 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()
配置转储页面并查找以下内容:
一旦expires模块工作并注意你的.htaccess条目,你可以在Firefox中使用像LiveHttpHeaders这样的插件来查看类似于以下内容的HTTP服务器请求/响应头:
答案 1 :(得分:3)
复制并粘贴.htaccess文件的末尾以改善浏览器缓存。
## 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 ##