【发布时间】:2011-11-24 16:36:18
【问题描述】:
我要求我的开发人员通过在 .htaccess 文件中添加以下行来设置网站图标的过期日期:
<IfModule mod_expires.c>
ExpiresByType image/ico "access plus 1 years"
但它没有过期日期,直到我在 Firefox 中加载图标并注意到响应标头的这一部分后才弄清楚
Content-Type: text/plain; charset=WINDOWS-1251
然后我被建议添加以下内容:(让 Apache 为网站图标设置正确的 mime 类型)
<IfModule mod_mime.c>
AddType image/ico .ico
</IfModule>
但它没有成功,不知道为什么,会不会有任何冲突覆盖 mod_mime.c?或任何其他原因?
请指教
谢谢
补充:我目前有这个设置过期日期:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 years"
ExpiresByType image/jpeg "access plus 1 years"
ExpiresByType image/png "access plus 1 years"
ExpiresByType image/x-icon "access plus 1 years"
ExpiresByType text/css "access plus 1 years"
ExpiresByType text/javascript "access plus 1 years"
ExpiresByType application/x-javascript "access plus 1 years"
ExpiresByType application/x-shockwave-flash "access plus 1 years"
</IfModule>
【问题讨论】:
-
您是否在 .htaccess 文件中在
ExpiresByType之前设置了ExpiresActive On? -
过期不是问题,因为它适用于所有文件类型,但图标除外
-
是否安装了
mod_mime?在任何情况下,您都可能需要考虑更激进的到期。雅虎使用 10 年,这是 Steve Sauders 推荐的。
标签: apache .htaccess optimization http-headers