ServerName必须为单一标准域名(如example.com),不可含协议、端口、路径或引号;每个块中必须且仅能有一个ServerName,它代表该虚拟主机的首选入口,用于Host头精确匹配。

主域名必须写成一个完整、可解析的域名,不带协议、端口、路径或引号,比如 example.com 或 www.example.com。它不能是多个域名拼在一起,也不能用通配符或正则表达式。
主域名必须满足的三个条件
一是格式要标准:只写纯域名,如 blog.example.com,不能写成 http://blog.example.com、blog.example.com:80 或 "blog.example.com";
二是唯一且必需:每个 <virtualhost></virtualhost> 块里必须有且仅有一个 ServerName,缺了会警告,写两个直接启动失败;
三是语义上代表“首选入口”:它不是技术限制,而是逻辑主标识——用户访问这个域名时,Apache 优先匹配它,重定向链接也默认按它生成。
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
怎么选哪个当主域名
选你最希望用户使用的那个,比如:
- 如果主推
www.example.com,就设ServerName www.example.com,把example.com放进ServerAlias; - 如果品牌统一用裸域(如
example.com),那就设ServerName example.com,再加ServerAlias www.example.com; - 本地开发调试常用
localhost或自定义名如dev.local,只要系统 hosts 能解析就行。
常见错误写法及后果
这些都会导致 Apache 启动报错或行为异常:
-
ServerName example.com www.example.com—— 多个域名空格分隔,语法错误; -
ServerName *.example.com—— 通配符不被允许; -
ServerName 192.168.1.100—— IP 地址虽能启动,但无法用于 Host 头匹配,实际多域名场景无效; -
ServerName example.com/或ServerName https://example.com—— 带路径或协议,解析失败。
验证是否生效的小技巧
改完配置别急着重启,先做三件事:
- 运行
httpd -t(Linux/macOS)或apache -t(Windows)检查语法; - 确认 DNS 或 hosts 文件能把该域名指向服务器 IP(例如
127.0.0.1 example.com); - 用
curl -H "Host: example.com" http://127.0.0.1模拟请求,看是否命中预期虚拟主机。

















