看起来
.htaccess
文件中的 ExpiresByType 不适用于 js 文件。
页面速度见解:
以高效的缓存策略为静态资产提供服务 xx 资源已找到
…js/jquery.min.js?3.7.1 (**my domain**) 7d
…js/jquery.ihavecookies.min.js (**my domain**) 7d
....
在我的.htaccess中:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 week"
....
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType application/x-javascript "access plus 1 year"
....
</IfModule>
js
文件的 MIME 类型是在服务器中预定义的,而不是像所有其他 MIME 类型一样在 .htaccess
中定义。
cPanel / MIME 类型 / 系统 MIME 类型:
MIME Type Extension(s)
----
application/javascript js
但是
js
默认为 1 周 i/o 1 年。
其他文件类型遵循 .htaccess,
的缓存策略,如开发工具/标头/缓存控制中所示。
所以我相信除了 .htaccess
之外,mod_expires
、js
、MIME 类型都可以很好地工作。
该网站在 Joomla 下运行,并且某些文件也有版本控制。
有什么想法吗?
Joomla 附带了一个预定义的
.htaccess
文件,其中包含有关 gzip 压缩资源的部分:
RewriteRule "^(.*)\.js" "$1\.js\.gz" [QSA]
不完全答案,但如果我评论主题行,我有
js
文件缓存控制 max-age=31536000
(1 年)。