在宝塔面板中,一个域名只能绑定到一个网站。但如果你想在一个域名下创建多个站点(比如通过不同的子路径访问不同项目),可以通过以下几种方式实现:
✅ 方法一:使用「反向」或「伪静态规则」配置多项目访问(推荐)
场景:
你有一个域名 example.com,希望实现:
example.com/site1→ 站点 Aexample.com/site2→ 站点 B
实现方法:
步骤 1:创建主站点
- 在宝塔面板中添加一个网站,绑定你的域名
example.com。 - 设置好网站的根目录(例如
/www/wwwroot/example_com)。
步骤 2:部署多个子项目
- 把不同的项目放在主站点目录下的不同子目录中:
/www/wwwroot/example_com/site1/www/wwwroot/example_com/site2
步骤 3:配置伪静态规则(Apache 或 Nginx)
如果是 Nginx:
编辑该网站的配置文件,在「伪静态」选项卡中添加如下规则:
location /site1/ {
alias /www/wwwroot/example_com/site1/;
index index.php index.html;
if (!-e $request_filename) {
rewrite ^/site1/(.*)$ /site1/index.php?s=/$1 last;
}
}
location /site2/ {
alias /www/wwwroot/example_com/site2/;
index index.php index.html;
if (!-e $request_filename) {
rewrite ^/site2/(.*)$ /site2/index.php?s=/$1 last;
}
}
注意:根据你的实际路径修改上面的路径。
如果是 Apache:
在 .htaccess 中添加类似如下重写规则:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/site1/
RewriteRule ^site1/(.*)$ /site1/index.php?s=/$1 [L]
RewriteCond %{REQUEST_URI} ^/site2/
RewriteRule ^site2/(.*)$ /site2/index.php?s=/$1 [L]
✅ 方法二:使用「子目录绑定」功能(适用于 WordPress、HTML 等静态项目)
说明:
宝塔支持将某个子目录作为网站点运行,适合 HTML 静态页面、纯 PHP 页面等,但不完全兼容所有框架(如 ThinkPHP、Laravel)。
操作步骤:
- 进入宝塔面板 → 网站 → 添加站点。
- 域名填写
example.com。 - 根目录选择主站点目录下的子目录(例如
/www/wwwroot/example_com/site1)。 - 勾选【子目录绑定】并填写对应的访问路径(如
/site1)。 - 提交后即可通过
http://example.com/site1访问该子站点。
⚠️ 注意事项:
- 子目录绑定需要确保每个子站点可以独立运行。
- 如果子站点有自己的入口文件(如
index.php),请确保伪静态规则正确。 - 不建议用于复杂的框架项目,可能会出现路径问题。
✅ 方法三:使用「二级子域名」
如果你允许使用不同的二级域名,这是最简单的方式:
site1.example.com→ 站点 Asite2.example.com→ 站点 B
操作步骤:
- 解析 DNS,添加两个子域名记录:
A记录site1→ 服务器 IPA记录site2→ 服务器 IP
- 在宝塔中分别添加两个站点:
- 域名分别为
site1.example.com和site2.example.com - 各自设置不同的网站目录
- 域名分别为
总结对比:
| 方法 | 是否支持动态项目 | 是否需配置伪静态 | 是否需备案 | 适用场景 |
|---|---|---|---|---|
| 反向 + 伪静态 | ✅ 支持 | ✅ 是 | ⚠️ 若上线公网需备案 | 多个动态项目共用一个域名 |
| 子目录绑定 | ❌ 部分支持 | ✅ 是 | ⚠️ 若上线公网需备案 | 简单静态页、HTML、PHP |
| 二级子域名 | ✅ 完全支持 | ❌ 否 | ⚠️ 若上线公网需备案 | 最通用、灵活 |
如果你告诉我你想部署的是哪种类型的项目(如 Laravel、Vue、WordPress、HTML 等),我可以提供更具体的配置建议!
是否需要我帮你写一份完整的伪静态规则?
云计算HECS