目录
WordPress 多站点终极指南:从零开始安装与配置(子目录与子域名模式)
WordPress 的多站点(Multisite)功能是一个非常强大但常被忽视的特性。它允许您通过一次 WordPress 安装,创建和管理一个由多个独立站点组成的“网络”。无论您是想为公司的不同部门创建站点、为学校社团提供博客平台,还是为客户管理多个网站,多站点功能都能极大地简化您的工作流程。
本指南将带您从零开始,一步步完成 WordPress 多站点的安装与配置。
什么是 WordPress 多站点?
简单来说,多站点网络共享同一个 WordPress 核心文件、同一个主题和插件集合,以及同一个数据库。但网络中的每个站点都有自己独立的媒体上传目录、内容(文章、页面)和部分设置。
主要优势:
- 集中管理:一次更新 WordPress 核心、主题和插件,即可应用到网络中的所有站点。
- 统一用户系统:用户只需注册一次,即可根据权限访问网络内的多个站点。
- 高效资源利用:所有站点共享服务器资源,相比为每个站点单独安装 WordPress 更节省空间和维护成本。
两种模式:子域名 vs. 子目录
在开始之前,您需要决定使用哪种模式来组织您的站点网络:
- 子域名 (Sub-domains)
- 每个子站点的地址都像一个独立的域名。
- 示例:
site1.yourdomain.com
,site2.yourdomain.com
- 子目录 (Sub-directories)
- 每个子站点的地址都位于主域名下的一个子目录中。
- 示例:
yourdomain.com/site1
,yourdomain.com/site2
重要提示:如果您的 WordPress 站点已经运行超过一个月,您将只能选择“子域名”模式,这是为了避免与现有文章或页面的固定链接(Permalinks)发生冲突。对于全新安装的 WordPress,两种模式都可以选择。
准备工作:开始之前
在进行任何操作之前,请确保您已准备好以下事项:
- 一个可用的 WordPress 站点:多站点功能可以激活在全新或已有的 WordPress 站点上。
- 网站备份:这是最重要的一步! 激活多站点是一个重大的结构性变更。请务必完整备份您网站的文件和数据库。
- FTP 或文件管理器访问权限:您需要能够编辑服务器上的
wp-config.php
和.htaccess
(Apache) 或nginx.conf
(Nginx) 文件。 - 停用所有插件:在安装过程中,建议先停用所有插件以避免冲突。
- 美观的固定链接:确保您的 WordPress 已经启用了美观的固定链接(在“设置” -> “固定链接”中,选择除“朴素”之外的任何一种)。
针对子域名模式的特殊要求:
如果您选择“子域名”模式,您必须配置通配符DNS记录 (Wildcard DNS Record)。您需要登录您的域名或服务器DNS管理面板,添加一条A
记录,将*.yourdomain.com
指向您服务器的IP地址。同样,您也需要一个通配符SSL证书来保护所有子域名。
详细安装与配置步骤
第1步:备份您的网站
再次强调,这是无可替代的第一步。请使用您喜欢的备份插件或主机面板的备份功能,创建一个完整的网站备份。
第2步:在 wp-config.php
中启用多站点
- 通过 FTP 或文件管理器,找到您 WordPress 根目录下的
wp-config.php
文件。 - 打开该文件进行编辑。
- 在
/* That's all, stop editing! Happy publishing. */
这行注释的上方,添加以下代码:
/* Multisite */
define('WP_ALLOW_MULTISITE', true);
保存并上传修改后的 wp-config.php
文件。
第3步:后台网络设置
- 重新登录您的 WordPress 后台。
- 在左侧菜单中,进入 工具 (Tools) -> 网络设置 (Network Setup)。这个菜单项是在您完成第2步后才会出现的。
- 在此页面,您需要做出关键选择:子域名 或 子目录。根据您的需求和准备工作选择一种。
- 填写“网络标题”和“网络管理员电子邮件地址”。
- 点击“安装 (Install)”按钮。
第4步:将代码添加到核心文件
安装完成后,WordPress 会生成两段代码,并要求您将它们分别添加到 wp-config.php
和 .htaccess
(或 Nginx 配置) 文件中。
1. 添加到 wp-config.php
文件
将 WordPress 提供的第一段代码,同样添加到 wp-config.php
文件中 /* That's all, stop editing! */
注释的上方。它看起来会像这样:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false); // 如果是子域名模式,这里会是 true
define('DOMAIN_CURRENT_SITE', 'yourdomain.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
2. 添加到伪静态配置文件
这是根据您的服务器类型来选择的。
对于 Apache 服务器:
将 WordPress 提供的第二段代码,添加到您网站根目录的 .htaccess
文件中,替换掉其中所有其他的 WordPress 规则。
子目录模式的 .htaccess
示例:
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
对于 Nginx 服务器:
您需要修改您站点的 Nginx 配置文件。以下是适用于子目录模式的常用规则,请将其添加到您的 server { ... }
块中,替换掉旧的 WordPress 规则。
子目录模式的 Nginx 配置示例:
# 添加这些规则到 server 块中
if (!-e $request_filename) {
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
rewrite ^(/[^/]+)?(/wp-.*) $2 last;
rewrite ^(/[^/]+)?(/.*\.php)$ $2 last;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
第5步:重新登录
完成以上文件修改后,您将被自动登出。请重新登录您的 WordPress 后台。
网络管理入门
恭喜!您的多站点网络已经成功建立。您会发现后台界面有了一些新变化:
- 顶部管理栏:左上角出现了一个新的“我的站点 (My Sites)”菜单,您可以在这里快速切换和访问网络中的所有站点以及“网络管理员”后台。
- 网络管理员后台:这是管理整个网络的中心。您可以在这里:
- 创建新站点 (在“站点” -> “新建”中)。
- 管理所有站点和用户。
- 安装和管理主题与插件:在网络后台安装的主题和插件,可以授权给网络内的所有站点使用。
现在,您可以开始探索和构建您的站点网络了!