xampp 默认不压缩 js/css,必须启用 mod_deflate、mod_filter、mod_headers 三模块,并在 httpd.conf 中用 addoutputfilterbytype 按 mime 类型(如 application/javascript、text/css)配置压缩,而非文件后缀;需重启 apache 并验证响应头含 content-encoding: gzip。

直接开干:XAMPP 默认不压缩 JS/CSS,必须手动启用 mod_deflate 并配对 MIME 类型,否则浏览器收到的永远是原始体积——哪怕你写了 AddOutputFilter DEFLATE js css 也无效,因为 Apache 根本不认识 .js 和 .css 对应什么类型。
确认并启用 mod_deflate、mod_filter、mod_headers 三个模块
缺一不可。很多配置失败,就卡在 mod_filter 没开——它负责内容过滤链路,mod_deflate 依赖它才能介入响应流。
- 打开
C:\xampp\apache\conf\httpd.conf(macOS/Linux 路径为/Applications/XAMPP/xamppfiles/etc/httpd.conf) - 搜索并取消以下三行的注释(删掉开头的
#):LoadModule deflate_module modules/mod_deflate.soLoadModule filter_module modules/mod_filter.soLoadModule headers_module modules/mod_headers.so - 保存后必须重启 Apache(XAMPP Control Panel → Stop → Start),仅刷新页面无效
在 httpd.conf 中添加压缩规则(别放 .htaccess)
.htaccess 在 XAMPP 本地开发中默认被禁用(AllowOverride None),放那儿等于没写;而且主配置生效更快、无运行时解析开销。
- 在
httpd.conf文件末尾追加:
<ifmodule mod_deflate.c>
SetOutputFilter DEFLATE
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript application/javascript application/x-javascript application/json application/xml
</ifmodule>
-
AddOutputFilterByType是关键:它按 MIME 类型触发压缩,不是按文件后缀。JS 文件要被压,前提是响应头是Content-Type: application/javascript(现代 PHP/静态服务通常如此),而不是text/plain或空 - 别用
AddOutputFilter DEFLATE js css—— 这个指令在 Apache 2.4 下不生效,它只对已知过滤器名起作用,而js/css不是标准过滤器名 -
DeflateCompressionLevel 6是平衡点:比默认 5 略高压缩率,CPU 开销可控;设成 9 会明显拖慢本地响应,没必要
验证是否生效及典型失败原因
打开 Chrome/Firefox DevTools → Network → 刷新页面 → 点一个 .js 或 .css 请求 → 查看 Response Headers 里有没有 Content-Encoding: gzip。
- 没有?先检查 Apache 是否真重启了(常见误操作)
- 有
Content-Encoding: gzip但体积没变小?可能是 PHP 输出提前写了 header,比如zlib.output_compression = On在php.ini里开着——关掉它,否则和 Apache 压缩冲突 - JS/CSS 请求响应头是
Content-Type: text/plain?说明服务器没正确识别类型,得查前端构建工具或 PHP 的header()调用,不能靠 Apache “猜”后缀 - 浏览器缓存了旧响应?强制刷新(Ctrl+F5)或禁用缓存(Network 面板勾选 Disable cache)再试
最容易被忽略的是 MIME 类型匹配逻辑——Apache 不看文件名,只认响应头里的 Content-Type。哪怕你把 style.css 改名叫 style.txt,只要服务端返回 text/css,它照样压缩;反过来,一个 app.js 如果被当成 text/plain 返回,再全的配置也救不了。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











