WordPress Multisite 是 WordPress 核心内置的强大功能,允许您从单个安装运行多个网站——降低成本、简化管理、大幅节省主机费用。本教程将带您逐步完成在 AsiaGB 虚拟主机上的完整配置。
什么是 WordPress Multisite?
WordPress Multisite(原名 WordPress MU / Multi-User)是一个将多个 WordPress 站点整合到同一数据库和核心文件集的系统。每个站点拥有独立的内容、用户和设置,同时共享 WordPress 核心、主题和插件。
| 功能 | 单站点 | Multisite 网络 |
|---|---|---|
| WordPress 安装数 | 每域名1个 | 1个运行N个站点 |
| 数据库 | 各自独立 | 共享(不同数据表) |
| 插件/主题 | 分别安装 | 安装一次,全网络使用 |
| WordPress 更新 | 每个站点单独更新 | 一次更新全部 |
| 适合场景 | 单个网站 | 多品牌/多语言 |
什么时候应该使用 Multisite?
- 多语言网站 — site.com (TH)、site-en.com (EN)、site-zh.com (ZH)
- 同一组织的多个品牌 — 每个品牌有独立外观
- 学校/连锁机构 — 每个分支拥有自己的子站点
- 降低成本 — 一个主机账户替代多个
- 一个团队管理多个网站 — 从单一控制面板管理
如果每个站点需要不同的 WordPress 版本、不同服务器区域或完全隔离的风险——独立安装更合适。
开始前的要求
- WordPress 3.0+(已内置 Multisite)
- PHP 7.4+(推荐 8.1+)
- 启用 Apache
mod_rewrite - 可以编辑
wp-config.php和.htaccess - 子域名模式需要:通配符 DNS 记录 (
*.domain.com) - WordPress 安装在根目录(非子目录)
- 启用前停用所有插件
AsiaGB 虚拟主机使用 DirectAdmin,已默认启用 Apache mod_rewrite,完全支持子域名和子目录两种 Multisite 网络类型。
第一步 — 启用 Multisite
启用 Multisite 前务必备份文件和数据库——出错时还可以恢复。
进入 插件 → 已安装的插件 → 全选 → 停用
在 /* That's all, stop editing! */ 行之前添加:
/* Enable WordPress Multisite */
define( 'WP_ALLOW_MULTISITE', true );
保存 wp-config.php 后刷新后台页面,进入工具 → 站点网络设置。
第二步 — 选择网络类型
WordPress Multisite 支持两种 URL 结构:
| 类型 | URL 示例 | 优点 | 缺点 |
|---|---|---|---|
| 子域名 | site1.example.com | 看起来独立,SEO 分离 | 需要通配符 DNS |
| 子目录 | example.com/site1/ | 配置更简单 | 共享域名权重 |
子目录配置更简单,无需通配符 DNS,适合同一组织内的站点,例如 example.com/en/、example.com/store/
第三步 — 更新 wp-config.php 和 .htaccess
WordPress 会显示需要添加的具体代码。子目录示例:
// wp-config.php — 在 WP_ALLOW_MULTISITE 之后添加
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
第四步 — 进入网络管理后台
保存两个文件后重新登录,您将在管理工具栏看到我的站点 → 网络管理后台——这是管理整个网络的主控面板。
第五步 — 创建子站点
- 站点地址 — 子站点 URL(子目录路径或子域名前缀)
- 站点标题 — 网站名称
- 管理员邮箱 — 该站点管理员的邮箱
域名映射 — 为子站点绑定独立域名
如需子站点使用独立域名(如 brand2.com 而非 example.com/brand2/):
- 在 DNS 中为 brand2.com 添加 A 记录,指向主机 IP
- 在 DirectAdmin 中添加 Addon Domain(域名管理 → 添加域名)
- 进入 网络管理后台 → 站点 → 编辑该子站点
- 将站点地址 (URL) 修改为
https://brand2.com - 等待 DNS 传播(10–30 分钟)
网络中的插件和主题管理
| 级别 | 操作者 | 结果 |
|---|---|---|
| 网络激活 | 超级管理员 | 插件在所有子站点强制启用 |
| 站点激活 | 站点管理员 | 插件仅在该子站点启用 |
| 网络停用 | 超级管理员 | 插件对所有子站点隐藏 |
Multisite 性能优化技巧
- 对象缓存 — Redis 或 Memcached 可大幅减少数据库查询
- 媒体 CDN — 子站点图片较多时卸载到 CDN
- 禁用 WP-Cron — 改用服务器 Cron(Multisite 中 WP-Cron 触发更频繁)
- 限制上传大小 — 网络管理后台 → 网络设置 → 最大上传文件大小
备份 Multisite 网络
Multisite 备份必须涵盖:
- 完整数据库 — 所有子站点的数据表都在同一数据库中
- wp-content/uploads/sites/ — 每个子站点的媒体文件在各自子目录中
- wp-config.php — 包含关键的网络配置
AsiaGB 虚拟主机提供每月两次自动备份(每月1日和15日)作为安全保障,但建议更频繁地自行备份,尤其是在更新 WordPress 核心之前。
常见问题与解决方案
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 子站点创建后 404 | .htaccess 不正确 | 检查 htaccess 代码块是否完整复制 |
| 子域名不工作 | 缺少通配符 DNS | 添加 *.domain.com A 记录 |
| 子站点看不到插件 | 未进行网络激活 | 网络管理后台 → 插件 → 网络激活 |
| 无法上传文件 | sites/ 目录权限不足 | chmod 755 wp-content/uploads/sites/ |