宝塔面板添加多域名别名需通过「域名管理」入口逐行添加,仅支持精确匹配;别名不等同于重定向,HTTPS需确保证书含所有别名的SAN条目。

宝塔面板里添加多域名别名,不是加在「域名」输入框里
很多人误以为在站点创建时把多个域名用逗号或空格隔开就能生效,实际不行。宝塔面板的「域名」字段只接受主域名(首个),其余必须走「别名」入口。否则 Nginx 配置不会生成 server_name 多值,访问别名会 404 或跳转到默认站。
正确路径:站点列表 → 点击对应站点右侧「设置」→ 左侧菜单选「域名管理」→ 在「添加域名别名」输入框里逐个添加(如 www.example.net、demo.example.com),每行一个,不加 http://,也不加通配符。
- 别名不支持正则或泛解析,仅精确匹配(
*.example.com无效) - 添加后宝塔会自动重载 Nginx,无需手动操作
nginx -s reload - 如果已存在同名别名,会提示“域名已存在”,需先检查是否被其他站点占用
需要强制统一跳转时,别用别名,改用 301 重定向规则
别名只是让多个域名共用同一套文件和配置,但用户看到的仍是原始域名。若要求所有访问都归集到 www.example.com,必须加重定向——这和别名是两回事,不能混用。
操作位置:站点设置 → 「重定向」→ 「添加重定向」→ 类型选「301」→「源域名」填要跳走的域名(如 example.com),「目标 URL」填完整地址(如 https://www.example.com$request_uri)。注意:$request_uri 保留路径和参数,否则 /admin/login 会跳成首页。
- 多个跳转需求,要分别添加多条重定向规则,不能在一个规则里写多个源域名
- HTTPS 站点务必用
https://开头的目标 URL,否则可能触发混合内容警告 - 重定向优先级高于别名,一旦命中就不再走后续 server 匹配逻辑
别名不生效?重点检查 Nginx 的 server_name 是否真被写入
宝塔有时因权限或缓存问题,未将别名写入最终配置文件。最直接的验证方式是打开站点配置文件(路径通常是 /www/server/panel/vhost/nginx/xxx.conf),搜索 server_name 行,确认其值类似:server_name www.example.com example.com www.example.net;
- 如果只有主域名,说明别名未写入,可尝试「重启 Nginx」或「重新保存一次域名管理页」触发重写
- 若配置里有域名但访问仍 404,检查该域名是否被 DNS 解析到服务器 IP(用
ping或dig验证) - 部分 CDN(如 Cloudflare)会隐藏真实 IP,此时需在 CDN 后台开启「始终使用 HTTPS」并放行源站 IP 段,否则 Nginx 收不到原始 Host 头
HTTPS 多域名共用证书,得用 SAN 证书而非单域名证书
如果为站点启用了 SSL,而别名域名没包含在证书的 Subject Alternative Name(SAN)中,浏览器会报 NET::ERR_CERT_COMMON_NAME_INVALID。宝塔「SSL」页里「申请证书」默认只覆盖主域名,别名不会自动加入。
解决方法有两种:
① 申请时手动勾选全部要绑定的域名(包括别名),宝塔调用 Let's Encrypt 会生成多域名证书;
② 若已申请单域名证书,需删除后重新申请,并确保所有别名都在勾选列表里。
- 免费证书最多支持 100 个域名,但宝塔界面只显示前几个,提交前务必滚动检查是否全选
- 更换证书后,Nginx 会自动加载,但旧连接可能缓存 TLS 会话,建议测试时用隐身窗口或
curl -I https://xxx - 自签名或第三方商业证书需手动上传,并确认 PEM 文件里包含全部 SAN 条目
别名和重定向看似简单,但真正卡住人的往往是 DNS 解析时机、证书 SAN 覆盖范围、以及宝塔配置与 Nginx 实际加载之间的微小不同步。动手前先看一眼 server_name 行和证书详情,比反复重启面板更省时间。











