在宝塔面板中,一个域名不能直接绑定两个网站,因为每个域名只能指向一个服务器 IP 地址和端口(通常是 80 或 443),所以默认情况下一个域名只能访问一个网站。
不过,你可以通过以下几种方式实现“一个域名对应两个网站”的效果:
✅ 方法一:使用不同路径区分(子目录部署)
这是最常见、推荐的方式。
步骤如下:
- 添加一个网站
- 在宝塔面板中添加一个网站,绑定你的域名
example.com。
- 在宝塔面板中添加一个网站,绑定你的域名
-
配置子目录为网站点
- 打开该网站的设置(点击网站名)。
- 点击【网站目录】→ 设置运行目录为
/www/wwwroot/example.com(主站)。 -
然后进入【伪静态】,添加如下规则(Nginx 示例):
location /site1/ { alias /www/wwwroot/site1/; index index.html index.php; if (!-e $request_filename) { rewrite ^/site1/(.*)$ /site1/index.php?s=$1 last; } } location /site2/ { alias /www/wwwroot/site2/; index index.html index.php; if (!-e $request_filename) { rewrite ^/site2/(.*)$ /site2/index.php?s=$1 last; } } - 这样你就可以通过:
http://example.com/site1/访问第一个网站http://example.com/site2/访问第二个网站
✅ 方法二:使用不同的端口(Port)
适合内网或测试环境。
步骤如下:
- 添加两个网站
- 添加网站 A,绑定域名
example.com,监听端口80。 - 添加网站 B,绑定域名
example.com,监听端口8080(或其他未被占用的端口)。
- 添加网站 A,绑定域名
- 访问方式
- 主站:
http://example.com - 第二个网站:
http://example.com:8080
- 主站:
⚠️ 注意:这种方式需要用户手动加端口号访问,在公网环境下可能被防火墙限制,不适合正式环境。
✅ 方法三:使用子域名
虽然你说的是“一个域名”,但如果你可以接受子域名,这也是非常实用的方法。
步骤如下:
- 解析两个子域名:
a.example.comb.example.com
- 在宝塔中分别添加这两个子域名为两个网站。
- 每个子域名对应一个独立网站。
✅ 方法四:使用反向 + 路径判断
适合高级用户。
原理:
- 用 Nginx 判断请求路径,把不同路径转发到不同后端服务。
示例配置:
location /app1/ {
proxy_pass http://127.0.0.1:3000; # Node.js 应用
}
location /app2/ {
proxy_pass http://127.0.0.1:8080; # Java 或其他应用
}
总结
| 方法 | 是否推荐 | 说明 |
|---|---|---|
| 子目录部署 | ✅ 推荐 | 同一个域名下,用路径区分两个网站 |
| 不同端口 | ❌ 不推荐 | 需要加端口号,体验差 |
| 子域名 | ✅ 推荐 | 更标准的做法,适合正式环境 |
| 反向 | ✅ 高级用法 | 灵活控制流量,适合多语言项目 |
如需我帮你写具体的伪静态规则或配置文件,请告诉我你的需求场景(比如是 WordPress、HTML、PHP、Node.js 等),我可以提供更详细的配置。
云计算HECS