浏览器不缓存缺少文件扩展名的图像

时间:2013-10-20 22:56:50

标签: php apache browser-cache

我有一个网站,其中从数据库请求许多图像。这些请求看起来像:

http://site.com/image/hash121231

这会在客户端返回200 OK,表示即使基础类型为png且其标题为image / png,它也不会被缓存。

我在httpd.conf中有这个

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType text/html "access plus 1 seconds"
  ExpiresByType image/gif "access plus 12 months"
  ExpiresByType image/jpeg "access plus 12 months"
  ExpiresByType image/png "access plus 12 months"
  ExpiresByType text/css "access plus 1 week"
  ExpiresByType text/javascript "access plus 1 week"
  ExpiresByType application/x-javascript "access plus 1 week"
  ExpiresByType text/xml "access plus 1 week"
</IfModule>

现在,图像要求如下:

http://site.com/static/image.png

返回304,告诉我它已被缓存。

我已经推断出必须是文件扩展名必须导致问题。我很难重写我的网站块以将扩展应用于图像请求并处理它。有没有办法让Apache检测类型并附加扩展名?还是会有其他原因造成这种情况?

更新

按照本网站的指南进行操作后:http://www.hardanswers.net/dynamic-webpage-caching我的工作主要是工作。

现在唯一的问题是,浏览器似乎每隔一个请求使用缓存主要是这些图像。我不确定这是浏览器的行为,还是与上面示例中的代码工作方式有关。

0 个答案:

没有答案