我在GTMetirx上遇到错误:利用浏览器缓存以下可缓存资源:
我必须为png,jpg,woff2,gif,gzip和js文件利用浏览器缓存,但是此代码不起作用:
## EXPIRES HEADER 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 image/svg "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "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 HEADER CACHING ##
但是当我添加代码并尝试查看错误是否会得到解决时,它仍然显示相同的错误,有人可以帮忙吗?
答案 0 :(得分:0)
我想这已经解决了,因为这段时间过去了... 但是您可以首先检查服务器上是否启用了mod_expires。
第二,您可以检查虚拟主机conf文件未覆盖您的.htaccess。如果您将虚拟主机用于您的域,则请在您的虚拟主机配置文件中检查您是否没有带有“ Allowoverride All”的父目录(带有到期标头的目录)。此Allowoverride All意味着conf文件将覆盖.htaccess文件中的所有内容。将Allowoverride设置为None或将过期标头放在目录部分的conf文件中。
还有其他方法可以解决此问题,这两点并不是详尽的清单。这就是我今天自己解决这个问题的方式。希望它能帮助到别人。