跨域的.htaccess缓存问题

时间:2012-03-14 21:57:23

标签: .htaccess caching

我在我的网站上设置了一个子域名,纯粹是为了提高网站速度(根据Google的推荐,在多个无Cookie域上传播HTTP请求)。我一直在尝试,看起来我的.htaccess缓存设置对子域没有相同的效果。

比较这两个网址及其响应/缓存时间:

http://www.scenepointblank.com/assets/img/features/coming_in_2012_homepage.png(原创) http://img.scenepointblank.com/features/coming_in_2012_homepage.png(子域名)

查看响应标题似乎已经拾取了相同的cache_control,但实际响应时间变化非常大(我看到www的平均响应时间约为400毫秒,{img平均约为4毫秒1}})。

我的.htaccess文件位于域的根目录并进行实验我还在scenepointblank.com/assets/img/中放了一个副本,但没有效果。该文件的内容如下:

FileETag MTime Size
<IfModule mod_expires.c>
# Enable expirations.
ExpiresActive On

# Cache all files for 2 weeks after access (A).
ExpiresDefault A1209600

<FilesMatch .php$>
# Do not allow PHP scripts to be cached unless they explicitly send cache
# headers themselves. Otherwise all scripts would have to overwrite the
# headers set by mod_expires if they want another caching behavior.
ExpiresActive Off
</FilesMatch>
</IfModule>

# 480 weeks
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=290304000, public"
</FilesMatch>

为什么会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:1)

似乎通过在.htaccess中添加以下内容来修复此问题:

ExpiresActive On
ExpiresByType image/png "now plus 365 days"
ExpiresByType image/jpeg "now plus 365 days"
ExpiresByType image/gif "now plus 365 days"
ExpiresByType text/css "now plus 365 days"