如何在 XAMPP 中设置 Apache 的 Expires 缓存头优化本地访问性能

轻强君_2865

轻强君_2865

2026-05-09

762人浏览

原创

必须手动启用xampp中的mod_expires模块,否则所有expires指令均被忽略;需编辑httpd.conf取消#loadmodule expires_module modules/mod_expires.so注释,重启apache,并在中配置expiresactive on及具体规则。

如何在 xampp 中设置 apache 的 expires 缓存头优化本地访问性能

确认 mod_expires 模块已启用

XAMPP 默认不启用 mod_expires,即使配置了规则也不会生效。必须手动开启模块加载,否则所有 ExpiresActive 和 ExpiresByType 都会被忽略。

打开 XAMPP\apache\conf\httpd.conf,搜索:LoadModule expires_module modules/mod_expires.so。如果该行被注释(开头有 #),删掉它;如果没有这行,就在其他 LoadModule 行附近手动添加。

  • 改完后务必重启 Apache,否则模块不会加载
  • 可通过访问 http://localhost/server-info(需启用 mod_info)或运行 httpd -M | findstr expires(Windows 命令行)验证是否在已启用模块列表中
  • Linux/macOS 用户注意:XAMPP for macOS/Linux 的路径和模块名可能略有差异,但 Windows 版 XAMPP 统一用 mod_expires.so

在 httpd.conf 中添加有效的 Expires 规则

把缓存规则直接写进 httpd.conf 是最稳妥的做法——比放在 .htaccess 更高效,也避免因 AllowOverride 未开放导致失效。

Apache Superset Dashboard and SQL Exploration Skill
Apache Superset Dashboard and SQL Exploration Skill

Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。

下载

在 httpd.conf 文件末尾追加:

<ifmodule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 week"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/x-icon "access plus 1 year"
</ifmodule>
  • access 表示从用户请求时刻起算,modification 表示从文件最后修改时间起算;静态资源推荐用 access,更可控
  • 不要写成 EXpiresByType(大小写错误)或漏掉引号,Apache 会静默忽略整段 <ifmodule></ifmodule>
  • ExpiresDefault 是兜底规则,但不能覆盖 text/html 等动态内容的语义——HTML 页面通常不该设长缓存,这里设 1 周是为防误配,实际建议保持默认或显式设为短时间(如 "access plus 5 minutes")

验证 Expires 头是否真实发出

浏览器开发者工具的 Network 面板里看响应头,是最直接的验证方式。仅看 HTML 是否“加载快了”不可靠,因为可能只是本地磁盘读取或 DNS 缓存干扰。

  • 选中一个 CSS 文件(如 style.css),查看 Headers → Response Headers,确认存在 Expires 和 Cache-Control 字段
  • 若只有 Cache-Control: max-age=... 而无 Expires,说明 mod_expires 生效但时区/系统时间异常(Expires 是绝对时间戳,依赖服务器时间准确)
  • 若两者都缺失,大概率是模块没启用、ExpiresActive Off、或配置位置不在生效作用域内(比如错放到 <directory></directory> 外且未继承)
  • 注意:Chrome 有时会显示 from disk cache 却不显示响应头——换 Firefox 或用 curl -I http://localhost/style.css 直接查原始响应头更可靠

CSS/JS 更新后用户仍看到旧版本怎么办

这是 Expires 缓存最典型的副作用:缓存太强,发布新版本后用户本地仍用旧文件,导致样式错乱或 JS 报错。

  • 开发阶段建议把 CSS/JS 缓存设短,例如 "access plus 10 minutes",上线后再调长
  • 生产环境推荐「文件名哈希」方案:构建时生成 main.a1b2c3.css,HTML 中引用带哈希的路径,这样每次更新文件名就自然绕过缓存
  • 临时调试可用强制刷新(Ctrl+F5)或清空浏览器缓存,但不能作为发布流程的一部分
  • 不要依赖 Cache-Control: no-cache 或 Pragma 来“取消”已有缓存——它们只影响本次请求,对已缓存副本无效
XAMPP 的 mod_expires 配置本身很简单,真正容易出问题的是模块启用状态、配置作用域和缓存更新机制。尤其要注意 Windows 下 XAMPP 控制面板重启 Apache 后,有时服务进程未真正退出,旧配置仍在运行——遇到“改了不生效”,先任务管理器杀掉所有 httpd.exe 再重启。

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

相关标签:

xampp apache

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
XAMPP用法详解
XAMPP用法详解

本专题整合了XAMPP相关用法介绍,阅读专题下面的文章了解更多详细内容。

2026.04.08

233

20

XAMPP 安装与快速入门指南
XAMPP 安装与快速入门指南

面向零基础用户,详细介绍 XAMPP 在 Windows、macOS、Linux 三大平台上的下载、安装步骤、首次启动配置、控制面板使用以及 Apache/MySQL 服务的基本启停操作,帮助初学者在最短时间内搭建起可用的本地开发环境。

2026.04.08

210

23

XAMPP Apache 与 MySQL 核心配置实战
XAMPP Apache 与 MySQL 核心配置实战

深入讲解 XAMPP 中 Apache 和 MySQL 的核心配置技巧,包括 httpd.conf 端口修改、虚拟主机(VirtualHost)多站点配置、MySQL 用户权限管理与远程连接设置、php.ini 关键参数调优,以及 SSL 证书的本地配置方法,适合有一定基础的开发者进阶使用。

2026.04.08

405

21

XAMPP 本地项目部署与调试全流程
XAMPP 本地项目部署与调试全流程

以 WordPress、Laravel、ThinkPHP 等主流 PHP 框架和 CMS 为例,演示如何在 XAMPP 环境中完成项目部署、本地域名绑定(hosts配置)、数据库导入、伪静态规则配置以及 Xdebug 断点调试的完整流程,让本地开发与线上环境无缝衔接。

2026.04.08

102

21

XAMPP 常见问题排查与故障解决
XAMPP 常见问题排查与故障解决

汇总 XAMPP 使用过程中最常遇到的故障场景及其解决方案,涵盖 80/443 端口被占用、Apache 或 MySQL 无法启动、phpMyAdmin 访问报错、文件权限不足、日志分析方法等问题,提供逐步排查思路与一键修复技巧,减少开发者的排错时间。

2026.04.08

230

22

XAMPP 安全加固与生产环境迁移
XAMPP 安全加固与生产环境迁移

聚焦 XAMPP 的安全实践与环境迁移,包括修改 MySQL 默认 root 密码、关闭目录列表浏览、限制 phpMyAdmin 外部访问、配置防火墙规则等安全加固措施,同时讲解如何将 XAMPP 本地开发完成的项目平滑迁移部署到 Linux 生产服务器。

2026.04.08

264

30

XAMPP 与 phpMyAdmin 数据库管理实操
XAMPP 与 phpMyAdmin 数据库管理实操

专注于 XAMPP 内置的 phpMyAdmin 数据库管理工具,系统讲解数据库和数据表的创建与设计、SQL 语句执行、CSV/SQL 格式数据的导入导出、定时备份与一键还原、多数据库批量管理等日常操作,帮助开发者高效管理本地 MySQL 数据。

2026.04.08

315

26

apache是什么意思
apache是什么意思

Apache是Apache HTTP Server的简称,是一个开源的Web服务器软件。是目前全球使用最广泛的Web服务器软件之一,由Apache软件基金会开发和维护,Apache具有稳定、安全和高性能的特点,得益于其成熟的开发和广泛的应用实践,被广泛用于托管网站、搭建Web应用程序、构建Web服务和代理等场景。本专题为大家提供了Apache相关的各种文章、以及下载和课程,希望对各位有所帮助。

2023.08.23

1055

4

apache启动失败
apache启动失败

Apache启动失败可能有多种原因。需要检查日志文件、检查配置文件等等。想了解更多apache启动的相关内容,可以阅读本专题下面的文章。

2024.01.16

11293

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程