宝塔面板中为不同子域名配置独立网站目录需采用三种方法:一、为每个子域名新建独立站点并指定根目录;二、为已有站点添加子域名后通过软链接指向实际目录;三、利用Nginx反向代理将子域名请求转发至不同后端端口。

如果您在宝塔面板中已绑定主域名,但需要为不同子域名(如 blog.example.com、shop.example.com)分别指向各自独立的网站目录,则需通过站点配置与域名绑定组合实现。以下是完成该配置的具体步骤:
一、添加新站点并指定子域名根目录
每个子域名需对应一个独立站点,宝塔不支持单站点内为多个子域名分配不同根目录,因此必须为每个子域名新建站点,并手动指定其运行目录。此方式确保各子域名完全隔离、互不影响。
1、登录宝塔面板,在左侧菜单点击网站,再点击右上角添加站点按钮。
2、在“域名”输入框中填写完整子域名,例如:blog.example.com;不要填写主域名或其他子域名。
3、在“根目录”栏中,手动修改为自定义路径,例如:/www/wwwroot/blog.example.com;确保该路径不存在同名文件夹,宝塔将自动创建。
4、PHP版本、FTP、数据库等选项按需选择或关闭,点击提交完成站点创建。
二、为已有站点追加子域名并修改根目录软链接
若希望复用已有站点配置(如共用SSL证书、反向代理规则),可通过修改站点配置文件并建立目录软链接实现子域名定向。该方法适用于技术较熟练用户,需谨慎操作避免配置冲突。
1、进入网站列表,点击目标站点右侧的设置按钮。
2、切换到域名管理标签页,在“添加域名”输入框中填入新子域名,例如:shop.example.com,点击添加。
3、返回服务器终端,执行命令删除原站点根目录:rm -rf /www/wwwroot/原站点目录。
4、创建指向实际子域名目录的软链接:ln -sf /www/wwwroot/shop.example.com /www/wwwroot/原站点目录。
5、重启对应Web服务(Nginx/Apache),使软链接生效。
三、通过Nginx反向代理实现子域名路径映射
当多个子域名需共享同一Web服务端口且后端应用已具备路由能力(如Node.js、Django)时,可借助Nginx反向代理将不同子域名请求转发至同一服务的不同本地端口或路径,从而规避多站点开销。
1、添加一个主站点(如 example.com),获取其Nginx配置文件路径,通常为:/www/server/panel/vhost/nginx/example.com.conf。
2、在该配置文件的server块外新增独立server块,监听子域名:server_name api.example.com;。
3、在新server块内添加location指令,将请求代理至本地端口:proxy_pass http://127.0.0.1:3001;(假设后端服务运行于3001端口)。
4、保存配置文件,执行nginx -t验证语法,无误后执行bt 1重载Nginx。










