WordPress 多站点终极指南:从零开始安装与配置(子目录与子域名模式)

WordPress 多站点终极指南:从零开始安装与配置(子目录与子域名模式)

WordPress 的多站点(Multisite)功能是一个非常强大但常被忽视的特性。它允许您通过一次 WordPress 安装,创建和管理一个由多个独立站点组成的“网络”。无论您是想为公司的不同部门创建站点、为学校社团提供博客平台,还是为客户管理多个网站,多站点功能都能极大地简化您的工作流程。

本指南将带您从零开始,一步步完成 WordPress 多站点的安装与配置。

什么是 WordPress 多站点?

简单来说,多站点网络共享同一个 WordPress 核心文件、同一个主题和插件集合,以及同一个数据库。但网络中的每个站点都有自己独立的媒体上传目录、内容(文章、页面)和部分设置。

主要优势:

  • 集中管理:一次更新 WordPress 核心、主题和插件,即可应用到网络中的所有站点。
  • 统一用户系统:用户只需注册一次,即可根据权限访问网络内的多个站点。
  • 高效资源利用:所有站点共享服务器资源,相比为每个站点单独安装 WordPress 更节省空间和维护成本。

两种模式:子域名 vs. 子目录

在开始之前,您需要决定使用哪种模式来组织您的站点网络:

  1. 子域名 (Sub-domains)
    • 每个子站点的地址都像一个独立的域名。
    • 示例:site1.yourdomain.com, site2.yourdomain.com
  2. 子目录 (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 中启用多站点

  1. 通过 FTP 或文件管理器,找到您 WordPress 根目录下的 wp-config.php 文件。
  2. 打开该文件进行编辑。
  3. /* That's all, stop editing! Happy publishing. */ 这行注释的上方,添加以下代码:
    /* Multisite */
    define('WP_ALLOW_MULTISITE', true);

保存并上传修改后的 wp-config.php 文件。

    第3步:后台网络设置

    1. 重新登录您的 WordPress 后台。
    2. 在左侧菜单中,进入 工具 (Tools) -> 网络设置 (Network Setup)。这个菜单项是在您完成第2步后才会出现的。
    3. 在此页面,您需要做出关键选择:子域名子目录。根据您的需求和准备工作选择一种。
    4. 填写“网络标题”和“网络管理员电子邮件地址”。
    5. 点击“安装 (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)”菜单,您可以在这里快速切换和访问网络中的所有站点以及“网络管理员”后台。
    • 网络管理员后台:这是管理整个网络的中心。您可以在这里:
      • 创建新站点 (在“站点” -> “新建”中)。
      • 管理所有站点和用户
      • 安装和管理主题与插件:在网络后台安装的主题和插件,可以授权给网络内的所有站点使用。

    现在,您可以开始探索和构建您的站点网络了!

    By 行政