WordPress多站点开启,一个程序管理多个网站
为什么需要开启WordPress多站点
当你想用一套WordPress程序管理多个独立网站时,WordPress多站点(Multisite)功能就是最直接的选择。
它允许你在同一个后台、同一套插件和主题环境下创建多个子站点,省去反复安装WordPress的麻烦。
开启后,你可以在一个网络管理后台统一管理所有站点,适合企业站群、多语言站点或测试环境。
但多站点并非所有场景都适用:如果你的多个网站需要完全独立的插件版本、数据库或主题,建议还是分开安装。
确认需求后,按下面的步骤操作即可。
开启前的准备与模式选择
开始前,建议先完成两件事:
- 备份网站文件和数据库。多站点配置涉及核心文件修改,操作失误可能导致网站无法访问。
- 确认服务器环境。确保你的主机支持伪静态(Rewrite)规则,并且PHP版本在7.4以上(以官方当前建议为准)。
随后要决定使用子域名还是子目录模式:
- 子域名模式:站点地址如
site1.example.com、site2.example.com。需要配置泛域名解析(*.example.com指向服务器IP)。 - 子目录模式:站点地址如
example.com/site1、example.com/site2。配置更简单,无需泛解析,但子站点路径会带在主域名下。
新手建议先用子目录模式测试,成功后再按需切换。
修改wp-config.php开启多站点
WordPress多站点的开关藏在 wp-config.php 文件中。
这个文件位于网站根目录,用宝塔面板的文件管理器或FTP都能编辑。
第一步:添加多站点启用代码
打开 wp-config.php,找到 /* That's all, stop editing! 这一行,在它之前添加:
Happy publishing. */
define( 'WP_ALLOW_MULTISITE', true );
保存后,登录WordPress后台,在左侧菜单的工具下会看到新增的配置网络选项。
第二步:根据安装向导生成配置代码
进入工具 > 配置网络,选择子域名或子目录模式,填写网络标题和管理员邮箱,点击安装。
WordPress会给出两段代码:
- 一段要替换
wp-config.php中刚才添加的代码; - 一段要添加到
.htaccess文件(Apache环境)或Nginx配置中。
第三步:替换wp-config.php代码
将向导给出的第一段代码完整替换掉之前添加的 define( 'WP_ALLOW_MULTISITE', true );,通常包含:
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false ); // 子目录模式为false,子域名模式为true
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
保存后,后台会要求重新登录。
配置服务器伪静态规则
多站点依赖伪静态规则来正确解析子站点地址,否则会提示404或重定向错误。
Apache环境:WordPress会提供 .htaccess 规则,替换原有WordPress规则即可。
Nginx环境(宝塔面板常用):向导给出的规则需要手动添加到站点配置中。
在宝塔面板中,进入网站 > 对应站点 > 配置文件,在 server {} 块内找到 include enable-php-xx.conf; 下方,添加以下内容(以子目录模式为例):
rewrite ^/(wp-.*\.php)$ /$1 last;
rewrite ^/([_0-9a-zA-Z-]+/)?(wp-.*) /$2 last;
rewrite ^/([_0-9a-zA-Z-]+/)?(.*\.php)$ /$2 last;
if (!-e $request_filename) {
rewrite ^/([_0-9a-zA-Z-]+/)?(.*) /index.php?/$2 last;
}
注意:不同WordPress版本生成的规则略有差异,建议直接复制安装向导给出的Nginx规则,不要自行修改。
保存后重载Nginx配置。
创建子站点与效果验证
完成上述配置后,重新登录WordPress后台,你会看到顶部多了一个我的站点菜单,里面包含网络管理面板。
进入网络管理 > 站点 > 添加新站点,填写子站点地址、标题和管理员邮箱。
创建成功后,访问该地址,如果能看到默认主题页面,说明多站点已正常工作。
验证清单:
- 后台我的站点 > 网络管理能正常打开;
- 新建的子站点前台可以访问,没有404错误;
- 子站点后台可以独立登录,插件和主题可按网络启用或单独启用。
如果子站点前台出现404,优先检查伪静态规则是否生效;
如果子域名模式无法访问,检查泛域名解析是否生效(ping site1.example.com 看是否指向正确IP)。
常见问题与避坑提醒
开启后网站打不开或无限重定向:多半是 wp-config.php 中 DOMAIN_CURRENT_SITE 填错,或伪静态规则冲突。
先恢复备份,再逐项核对向导给出的代码。
子站点后台无法登录:多站点的用户体系是共享的,子站点管理员需要在网络管理中添加并分配权限。
检查网络管理 > 用户中是否已将该用户加入对应站点。
想从子目录切换到子域名:切换前必须备份数据库,并在网络设置中修改模式,同时更新 wp-config.php 和DNS解析。
操作不可逆,建议在测试环境验证后再操作。
插件兼容性:部分插件不支持多站点网络激活,可能出现功能异常。
启用前查看插件说明或先在测试站点验证。
多站点功能一旦开启,主站点的固定链接和部分设置会受到影响。
如果后续需要关闭多站点,手动还原 wp-config.php 和伪静态规则即可,但子站点数据会保留在数据库中,需要单独清理。
最后检查
WordPress多站点开启的核心就三步:在 wp-config.php 中启用、按向导生成配置、配置服务器伪静态。
整个过程不需要额外安装插件,但每一步都要仔细核对代码。
操作前务必备份,遇到问题时优先回看伪静态规则和域名解析这两处。