为什么 mod_expires 对 JS 文件不起作用

问题描述 投票:0回答:1

看起来

.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 下运行,并且某些文件也有版本控制。 有什么想法吗?

apache .htaccess cache-control
1个回答
0
投票

Joomla 附带了一个预定义的

.htaccess
文件,其中包含有关 gzip 压缩资源的部分:

RewriteRule "^(.*)\.js" "$1\.js\.gz" [QSA]

不完全答案,但如果我评论主题行,我有

js
文件缓存控制
max-age=31536000
(1 年)。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.