第 3 章 · 配置地图:指令作用域与虚拟主机 章节摘要:请求被 MPM 接住之后,服务器要立刻回答一个问题——"用哪份配置伺候它?"本章放大旅程的第 2 到第 5 站:虚拟主机如何按 Host 头认领请求;多层配置如何按固定顺序合并成最终工单;重写引擎如何在这条路上改写请求的行进方向。掌握本章,"配置了却不生效"这类最常见、也最折磨人的问题就有了系统性的排查方法。 学习目标 阅读完本章,你应当能够: 配置基于域名、端口、IP 的三种虚拟主机并理解匹配优先级; 解释配置合并的固定顺序与覆盖规则; 判断一条指令允许写在哪个作用域、 何时该用何时该关; 用 modrewrite 完成内部改写与外部重定向,并按流程排查重写问题; 独立排查"配置不生效"类故障。
章节摘要:请求被 MPM 接住之后,服务器要立刻回答一个问题——"用哪份配置伺候它?"本章放大旅程的第 2 到第 5 站:虚拟主机如何按 Host 头认领请求;多层配置如何按固定顺序合并成最终工单;重写引擎如何在这条路上改写请求的行进方向。掌握本章,"配置了却不生效"这类最常见、也最折磨人的问题就有了系统性的排查方法。
阅读完本章,你应当能够:
.htaccess 何时该用何时该关;配置文件不是平铺的清单,而是一棵按位置叠加的树;请求走到哪片叶子,就拿到哪份工单。
Include 拼装逻辑、指令的五种作用域、合并顺序与覆盖规则、.htaccess 的性能账与开关决策。
三种虚拟主机形态、匹配优先级、默认站点兜底逻辑,以及 HTTPS 时代 SNI 带来的新玩法。
改写与重定向的区别、RewriteRule 的执行顺序、常见规则套路与排查流程图。
三节沿着请求的行进顺序展开:
虚拟主机认领 ──给出基础工单──▶ 逐层合并 ──给出最终工单──▶ 重写引擎改道 3.2 3.1 3.3
为什么把作用域(3.1)放在虚拟主机(3.2)之后讲?因为虚拟主机本身就是"最大号的作用域容器"——先认识容器家族的族长,再理解整个家族的叠加规则,最后看请求在这套规则之上还能怎么被改道。