WordPress多站点网络配置教程

WordPress多站点网络配置教程

  • admin admin
  • 2026-09-12
  • 2468
  • 0

WordPress多站点网络配置教程是指导用户在单个WordPress安装中创建和管理多个站点的操作指南。启用多站点前的准备工作在修改任何文件之前,先完成以下准备工作。备份当前WordPress网站的全部文件,包括根目录下的所有PHP文件、主题、插件以及上...

¥ 0.00
当前位置:首页 > WordPress博客 > WordPress多站点网络配置教程
详情介绍

WordPress多站点网络配置教程是指导用户在单个WordPress安装中创建和管理多个站点的操作指南。

启用多站点前的准备工作

在修改任何文件之前,先完成以下准备工作。

WordPress多站点网络配置教程  第1张

  1. 备份当前WordPress网站的全部文件,包括根目录下的所有PHP文件、主题、插件以及上传目录。

  2. 导出数据库,可以使用phpMyAdmin或WP-CLI执行wp db export

  3. 停用所有插件,避免插件在配置过程中影响站点重写规则或数据库结构。

  4. 确认服务器运行的是Apache或Nginx,并且支持URL重写。

  5. 如果计划使用子域名模式,需要提前在域名解析服务商处添加泛解析记录,例如将*.example.com通过A记录指向服务器IP地址。

  6. 确保WordPress安装目录可写,部分主机在修改wp-config.php后,后台才能生成网络配置文件。

修改wp-config.php开启多站点功能

通过FTP、SFTP或主机文件管理器打开WordPress根目录下的wp-config.php文件。

找到以下注释行:

/*That'sall,stopediting!Happypublishing.*/

在该注释行之前添加以下代码:

define('WP_ALLOW_MULTISITE',true);

保存文件并上传回服务器,该常量会激活WordPress后台的网络配置入口。

如果使用WP-CLI,也可以执行:

wpconfigsetWP_ALLOW_MULTISITEtrue--raw

此时刷新WordPress后台,左侧菜单或工具菜单中会出现“网络设置”选项。

在网络设置页面选择站点模式

进入WordPress后台,点击“工具”下的“网络设置”,如果未出现该菜单,请确认上一步常量是否添加正确。

在“网络设置”页面中,需要选择多站点地址形式:

  • 子域名模式:例如site1.example.comsite2.example.com,该模式适合需要独立子域名的项目。

  • 子目录模式:例如example.com/site1example.com/site2,该模式适合主域名已经包含大量内容的站点。

选择后填写网络名称和管理员邮箱,网络名称用于区分整个多站点网络,管理员邮箱用于接收新站点注册通知。

点击“安装”按钮,WordPress会生成两段配置代码。

添加wp-config.php多站点配置代码

WordPress生成的第一段代码需要添加到wp-config.php中,常见内容如下:

define('MULTISITE',true);
define('SUBDOMAIN_INSTALL',true);
define('DOMAIN_CURRENT_SITE','example.com');
define('PATH_CURRENT_SITE','/');
define('SITE_ID_CURRENT_SITE',1);
define('BLOG_ID_CURRENT_SITE',1);

其中SUBDOMAIN_INSTALL的值根据所选模式变化,如果选择子目录模式,该值为false

将这段代码添加到之前添加的WP_ALLOW_MULTISITE常量之后,仍然位于/* That's all, stop editing! */注释之前。

保存wp-config.php文件。

替换.htaccess或Nginx重写规则

WordPress生成的第二段代码用于替换根目录下的.htaccess文件,子域名和子目录模式的重写规则略有不同。

子域名模式下的常见.htaccess规则如下:

RewriteEngineOn
RewriteBase/
RewriteRule^index\.php$-[L]
#addatrailingslashto/wp-admin
RewriteRule^wp-admin$wp-admin/[R=301,L]
RewriteCond%{REQUEST_FILENAME}-f[OR]
RewriteCond%{REQUEST_FILENAME}-d
RewriteRule^-[L]
RewriteRule^(wp-(content|admin|includes).*)$1[L]
RewriteRule^(.*\.php)$$1[L]
RewriteRule.index.php[L]

将原有.htaccess中的WordPress规则替换为上述内容,如果.htaccess中只有WordPress默认规则,可直接整体替换。

如果使用Nginx,需要将以下规则添加到站点配置文件的server块中:

if(!-e$request_filename){
rewrite/wp-admin$$scheme://$host$uri/permanent;
rewrite^(/[^/]+)?(/wp-.*)$2last;
rewrite^(/[^/]+)?(/.*\.php)$2last;
rewrite./index.phplast;
}

保存后重启Nginx或Apache服务。

重新登录并进入网络管理后台

完成上述文件修改后,退出WordPress当前登录状态,然后重新登录。

登录后,顶部工具栏会出现“我的站点”菜单,点击“我的站点”,展开后可以看到“网络管理”选项。

进入“网络管理”后台后,可以管理整个多站点网络,包括创建站点、管理用户、启用主题和插件等。

如果登录后无法进入后台,通常是因为wp-config.php中的DOMAIN_CURRENT_SITEPATH_CURRENT_SITE配置不正确,请核对主域名是否与站点实际地址完全一致,包括是否带www

创建第一个子站点

在“网络管理”后台中,点击左侧菜单“站点”,然后点击“添加新站点”按钮。

填写以下信息:

  • 站点地址:子域名模式下填写子域名前缀,例如demo;子目录模式下填写路径名称,例如demo

  • :用于后台识别,可以后续修改。

  • 管理员邮箱:子站点管理员的登录邮箱。

  • 站点语言:选择子站点的后台语言。

点击“添加站点”后,WordPress会创建新的子站点,并自动分配对应的数据库表,每个子站点使用独立的表前缀,默认情况下是在主站点的表前缀后追加2_3_等数字。

例如主站点表前缀为wp_,第一个子站点的用户表为wp_2_users,文章表为wp_2_posts

为子站点分配主题和插件

多站点网络中的主题和插件由超级管理员统一控制。

在“网络管理”后台中,点击“主题”菜单,勾选允许子站点使用的主题,然后点击“启用”按钮,只有被网络启用的主题,子站点管理员才能在“外观”中看到并选择。

插件同样需要在“插件”菜单中点击“网络启用”,网络启用的插件会在所有子站点中自动生效,如果选择“启用”,该插件仅对主站点单独生效,子站点无法使用。

子站点管理员默认不能直接安装新主题或插件,必须由超级管理员在网络级别开放相应权限。

配置多站点用户权限

多站点网络中的用户权限与单站点不同。

只有超级管理员可以安装、删除主题和插件,创建新站点,以及修改网络设置。

子站点管理员只能管理自己站点内的内容、主题选项和普通用户,不能修改网络全局配置。

如需将现有用户添加为某个子站点的管理员,可以在“网络管理”后台中点击“用户”,找到对应用户,然后在“站点”栏目下将其分配给目标站点,并设置角色为“管理员”。

新用户可以通过“用户”菜单中的“添加新用户”统一添加,也可以在子站点后台注册,如果开启开放注册,用户注册后会自动成为主站点订阅者,需要超级管理员手动分配站点权限。

处理多站点固定链接和媒体上传

多站点模式下,固定链接默认使用/blog/前缀,可以在“网络管理”下的“站点”列表中编辑每个子站点,修改其固定链接结构。

如果使用子目录模式,子站点的文章地址通常为:

example.com/site1/2024/01/01/hello-world/

如果使用子域名模式,文章地址为:

site1.example.com/2024/01/01/hello-world/

媒体上传目录会统一存放在wp-content/uploads/sites/2/sites/3/等目录下,每个子站点的媒体文件互不干扰。

如果图片无法显示,需要检查wp-content/uploads/sites/目录是否存在且具有可写权限,同时确认服务器允许访问sites目录下的静态文件。

十一、开启多站点开放注册

如果希望允许用户自行注册新站点,可以在“网络管理”后台点击“设置”,找到“注册设置”栏目。

可以选择以下注册方式:

  • 关闭注册:禁止用户注册新站点。

  • 用户可注册账户:用户可创建普通账户,但不能创建站点。

  • 已登录用户可注册新站点:只有登录后的用户可以创建站点。

  • 开放注册:任何访客都可以注册账户并创建站点。

根据项目需求选择合适的注册方式,开放注册时需要配置注册欢迎邮件、默认角色以及新站点的默认设置。

十二、数据备份与迁移注意事项

多站点网络的数据库备份与单站点不同,所有子站点的数据都存储在同一数据库中,只是使用不同的表前缀,因此备份数据库时必须导出完整数据库,而不是仅导出部分表。

文件备份同样需要包含wp-content/uploads/sites/目录,以及所有主题和插件目录。

迁移多站点网络时需要修改wp-config.php中的DOMAIN_CURRENT_SITE和数据库配置,同时需要更新数据库中的站点域名,可以使用专业的多站点迁移工具或WP-CLI的wp search-replace命令批量替换旧域名。

如果只迁移单个子站点,建议先将主站点导出为普通WordPress站点,再重新建立网络,避免数据库表关联错误。

十三、禁用多站点网络

如果不再需要多站点功能,可以移除wp-config.php中添加的多站点常量,恢复.htaccess中的WordPress默认规则。

但数据库中的多站点表结构不会自动删除,所有子站点数据仍然存在于数据库中,该操作仅会将WordPress恢复为单站点模式,并不删除已经创建的子站点数据。

如需彻底清除网络模式,必须手动清理数据库中多余的站点表,并修正wp_options表中的网络选项。

0