在Apache服务器上使用.htaccess实现缓存控制

6

好的,我仍在努力理解一些缓存相关的内容,并查阅了一些谷歌上的例子。我已经将以下代码添加到我的.htaccess文件中:

### activate mod_expires
ExpiresActive On
### Expire .gif's 1 month from when they're accessed
ExpiresByType image/gif "access plus 3 months"
ExpiresByType image/png "access plus 3 months"
ExpiresByType image/jpg "access plus 3 months"
ExpiresByType text/javascript "access plus 3 months"

使用Chrome审核工具和YSlow Firebug工具,看起来它正在缓存我的一些图像/文件,但并非全部。我仍然有一些文件(.jpg、.js和.css-我知道我没有在这里设置css文件缓存)没有缓存。Chrome审核中的消息简单地说明:以下资源缺少缓存过期时间。未指定过期时间的资源可能无法被浏览器缓存: 一些未被缓存的图像是背景图像,其他图像是JS画廊的一部分,并且通过JS调用它们-这可能影响它们为什么不被缓存吗?
抱歉,我不能提供代码链接-该网站仍处于保密状态,仅限客户查看。
提前致谢!
1个回答

9

看起来你写错了 MIME 类型:

# enable expirations
ExpiresActive On
ExpiresDefault "access plus 1 week"
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
ExpiresByType image/pjpeg "access plus 1 week"
ExpiresByType text/javascript "modification plus 1 week"
ExpiresByType application/javascript "modification plus 1 week"
ExpiresByType text/css "modification plus 1 week"

我会尝试一下,看看是否可以解决问题。谢谢! - TH1981

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接