需先创建主站点并设根目录,再为各子域名分别添加独立站点并指定对应子目录路径;或通过反向代理、直接编辑Nginx配置实现绑定;最后须配置DNS与HTTPS证书确保生效。

如果您在宝塔面板中需要为同一主域名配置多个子域名,并将每个子域名分别指向不同的网站目录,则需通过站点设置与子域名绑定功能实现。以下是具体操作步骤:
一、添加主站点并确认根目录
主站点是子域名绑定的基础,必须先创建一个以主域名为标识的网站,其根目录将作为后续子域名目录划分的参考基准。所有子域名目录需位于该主站根目录之下或为其独立路径。
1、登录宝塔面板,在左侧菜单点击网站,再点击添加站点。
2、在“域名”栏填写主域名(如 example.com),不填写www或其他子域名。
3、在“根目录”栏确认路径(如 /www/wwwroot/example.com),该路径将用于存放各子域名对应的实际目录。
4、完成添加后,进入该站点的根目录,手动创建多个独立子目录,例如:blog、shop、api。
二、为子域名添加独立站点并指定目录
宝塔不支持在单个站点内直接为多个子域名分配不同子目录,但可通过“添加新站点”的方式,将每个子域名作为独立站点处理,同时将其根目录指向主站目录下的指定子文件夹,从而实现逻辑隔离与物理分离。
1、再次点击添加站点,在“域名”栏填写第一个子域名(如 blog.example.com)。
2、在“根目录”栏中,不使用默认路径,而是手动输入完整绝对路径,例如:/www/wwwroot/example.com/blog。
3、取消勾选PHP版本或按需选择,其他设置保持默认,点击提交。
4、重复上述步骤,分别为 shop.example.com 指向 /www/wwwroot/example.com/shop,api.example.com 指向 /www/wwwroot/example.com/api。
三、通过反向代理方式复用同一站点配置
若希望统一管理SSL证书、防火墙规则或Nginx配置,可保留主站点,将子域名通过Nginx反向代理转发至对应本地目录的独立服务端口,避免重复创建站点。
1、确保各子目录已部署可运行的服务(如 blog 目录内含静态文件或 Node.js 服务监听 3001 端口)。
2、进入主站点的设置 → 反向代理,点击添加反向代理。
3、代理名称填写blog_subdomain,目标URL填写http://127.0.0.1:3001(需与 blog 目录服务端口一致)。
4、在代理配置中启用匹配域名,填入blog.example.com。
5、保存后,重复添加代理项,分别为 shop.example.com 和 api.example.com 设置对应端口(如 3002、3003)。
四、修改Nginx配置文件直接绑定子域名路径
对于高级用户,可绕过面板界面,直接编辑主站点的Nginx配置文件,利用 location 块或 server 块实现子域名到子目录的精准映射,无需新增站点或代理。
1、进入网站 → 设置 → 配置文件,找到当前主站点的 conf 文件。
2、在文件末尾添加独立的 server 块,例如:
server {
listen 80;
server_name blog.example.com;
root /www/wwwroot/example.com/blog;
index index.html index.php;
}
3、为每个子域名复制并修改该 server 块,替换 server_name 和 root 路径。
4、保存配置后,点击重载Nginx使生效。
五、验证DNS与HTTPS配置一致性
子域名生效依赖于DNS解析正确性及SSL证书覆盖范围,若未同步配置,将导致访问失败或证书错误提示。
1、登录域名服务商后台,为每个子域名(blog.example.com、shop.example.com等)添加A记录,指向服务器IP。
2、返回宝塔面板,在网站 → SSL页面,为每个子域名站点单独申请证书,或使用通配符证书(*.example.com)一次性覆盖全部子域。
3、确保证书绑定对象与站点域名完全一致,例如 blog.example.com 站点必须使用包含该域名的证书。










