终极 WordPress 多站点域映射指南

WordPress Multisite 使作为单个网络的一部分管理多个站点变得轻而易举.但是,如果您希望所有子站点都使用自己的自定义域怎么办?这就是 WordPress Multisite 域映射解决的问题.

您仍将获得与在后端管理多站点网络相同的好处.在前端,您的网站访问者不会注意到差异.即使每个子网站都有自己独特的域.

Infographic of a WordPress Multisite Network branching out into Subsites
运行多个子站点的 WordPress 多站点网络概览.

在这篇文章中,我将向您展示如何在最新版本的 WordPress Multisite 上启动和运行域映射.我将介绍如何使用传统的共享主机帐户(使用 cPanel)和托管 WordPress 主机(WPMU DEV Hosting).是的,您不再需要使用插件(稍后会详细介绍).

什么是域映射?

An infographic explaining what WordPress Multisite domain mapping is.
WordPress 多站点域映射过程概述.

默认情况下,具有顶级域(例如 network.com)的 WordPress 多站点网络将所有子站点分配为:

  • 子域subsite1.network.comsubsite1.network.com
  • 子目录network.com/subsite1network.com/subsite1

当您第一次激活多站点网络时,您可以选择您的子站点是使用子域还是子目录.请注意,您以后无法更改此设置.

WordPress Multisite network setup screen with choice to select sub-domains or sub-directory

现在,对于大多数用例来说,拥有子域或子目录 URL 是可以接受的.

但是,如果您将不同的站点作为单个多站点安装的一部分进行管理,该怎么办?最好为每个站点提供一个自己独特的自定义域(例如 domain1.comdomain2.com).

WordPress 多站点域映射为网络的子站点分配一个特定的、唯一的域名.

WordPress 域映射的使用

  • 您的许多客户网站都托管在一个 WordPress 多站点网络上.并且您希望为他们所有人提供一个独特的自定义域名,以更好地反映他们的品牌.
  • 您正在管理一个大型企业或企业网站.如果每个产品/服务都有一个单独的子网站,那么从品牌和营销的角度来看,为每个产品/服务提供一个自定义域会很有帮助.例如,apple.com 可以将其各种产品的子站点网络托管在 iphone.comipad.com macbook.com.
  • 您想建立一个多站点博客网络,例如 WordPress.comEdublogs.org.在这里,用户可以免费创建自己的博客或网站.如果他们愿意,您可以为他们提供升级以包含自定义域.为了更轻松地进行管理,您可以使用 WP Ultimo 等付费插件为您的用户自动进行域映射.

告别域映射插件

使用插件来映射 WordPress 多站点的时代已经一去不复返了.

WordPress 4.5 引入了域映射作为本机功能.因此,您不必再使用任何第三方插件.

由于这是一项新功能,您在网络上找到的大多数域映射教程都不再是最新的.它们基于使用插件,例如我们自己的 域映射(现已停用).

您可以忽略所有这些教程.本指南是您从 2019 年起应使用的唯一方法.和往常一样,请在进行任何更改之前对您的网站进行完整备份.

WordPress 域映射概述

  1. 安装 WordPress 多站点网络
  2. 为自定义域配置 DNS 记录(名称服务器)
  3. 将自定义域添加到您的主机帐户
  4. 将网络子站点映射到其自定义域
  5. 对更多子网站重复该过程(如果需要)

打开并准备好您的托管帐户、域名注册商和 WordPress Multisite 的仪表板.

现在,让我们开始映射吧!

第 1 步:安装 WordPress 多站点网络

首先,启动并运行 WordPress 多站点网络,最好有一个或多个子站点.由于本指南是关于域映射 WordPress,因此我不会详细介绍如何设置多站点.

以下是多站点网络和子站点创建过程的基本概述:

  • 安装一个常规的 WordPress 网站.
  • wp-config.php 文件中定义多站点功能,以允许在您的 WordPress 设置中使用多站点.
  • 转到工具>激活多站点网络.WordPress 仪表板中的网络设置菜单项.在这里,选择您是要为未来的子网站使用子域还是子目录配置.
  • 启用多站点网络.为此,您需要添加完成网络设置过程后给出的两个代码片段.将第一个代码段添加到您的 wp-config.php 文件中;第二个应该替换 .htaccess 文件中的所有代码.
  • 转到站点>,将子站点添加到您的多站点网络.在您的网络管理员仪表板中添加新.

您可以参考我们的WordPress 多站点终极指南,了解详细的分步过程.

如果您的网站位于 WPMU DEV Hosting,您只需单击一下即可完成此操作.并且它会在开始该过程之前自动对您的站点进行完整备份,因此如果您想重置并重新启动,您也可以在那里进行操作.

注意:在域映射 WordPress 之前,请确保您的多站点网络运行良好.还要确保子网站创建在您的网络上正常运行.

第 2 步:为自定义域配置 DNS 记录(名称服务器)

首先,您需要确保您的自定义域名指向您的托管服务器.

如果您有不同的域和托管帐户(您确实应该),您必须重复这些步骤来设置您网络的主域名称(即您安装 WordPress 的主域).

如果您购买了组合域名托管包,您的托管服务提供商会在一开始就为您处理好这个过程.

无论哪种情况,您都需要手动配置自定义域的 DNS 记录.我不能给你一个包罗万象的过程,因为确切的方法将取决于你使用的域注册商和托管服务提供商.

这里是关于如何在一些流行的域名注册商处编辑 DNS 记录的官方指南(并确保查看我们的WordPress 的 DNS 终极指南 ):

注意:我们现在还为 WPMU DEV 托管站点提供DNS 管理(我们已经针对多站点!)

The DNS Management panel of GoDaddy Domain Registrar
GoDaddy 上的 DNS 管理面板.您可以向下滚动以编辑 NS 字段.
Google Domains DNS Settings Panel
Google Domains 上的 DNS 设置仪表板.向下滚动以添加其他 DNS 记录.

根据您拥有的托管帐户类型,您必须添加和/或编辑一个或所有这些记录.

  • CNAME 记录 – 也称为规范名称,它是将别名映射到真实域名(也称为规范域名)的 DNS 记录.CNAME 记录通常用于将子域(例如 wwwmail)映射到托管该子域内容的主域.例如,CNAME 记录可以将 www.example.com 映射到域 example.com.
  • 记录 – 它将域名映射到托管该域的服务器的 IP 地址(版本 4).
  • AAAA 记录 – 也称为四 A 记录,它指定网络主机的 IPv6 地址.它的工作方式与 A 记录相同,唯一的区别是 IP 地址的更新版本.您应该将 AAAA 记录与 A 记录一起使用,因为它被认为是最佳做法,甚至可能会提高性能.
  • 域名服务器 – 也称为 NS 记录,它们由您的托管服务提供商提供给您.它们充当您的域和您的主机帐户的 IP 地址之间的桥梁,以便访问者可以访问您的站点.与其他 DNS 记录不同,如果您更改域名服务器,则您的托管服务提供商将必须管理您的所有其他 DNS 记录.
WPMU DEV Hosting dashboard, Domains tab
WPMU DEV Hosting 建议使用这些 DNS 记录将您的域指向托管服务器.
Bluehost DNS Nameserver records highlighted
共享主机帐户通常只需要您设置 NS 记录(或名称服务器).

对于深入指南,没有比我们的 DNS & 更好的资源了.域管理文档以开始使用.

通常,更新您的 DNS 记录只需不到一个小时.然而,在极少数情况下,它们可能需要长达 48 小时才能传播.为什么?好吧,只有 DNS 大神知道!

如果您有许多子站点要映射到它们自己的自定义域,则需要立即更新它们的所有 DNS 记录.这样,您以后不必再等待.

您可以使用 DNS 查找服务,例如 DNS CheckerMxToolbox 以确保您域的新 DNS 记录已成功传播(提示:您只需检查已更新的记录).

如果您使用的是 WPMU DEV Hosting,则不必理会第三方 DNS 查找服务.在您完成第 3 步后,我们的系统将自动执行定期检查.如果您的自定义域的 DNS 记录解析为您的托管帐户,我们将通过电子邮件通知您.

完成第 2 步后,无论您域的 DNS 记录是否已传播,您都可以继续进行下一步.

第 3 步:将自定义域添加到您的托管帐户

接下来,您需要将此自定义域添加到您安装了主网络站点的托管服务器.

执行此操作的确切方法取决于您托管网络站点的位置,因此我将考虑两种常见情况:

  • 使用 cPanel-大多数共享托管环境都使用此设置.
  • 使用 WPMU DEV Hosting – 我们的自定义仪表板让这一切变得更加容易.大多数托管 WordPress 托管服务提供商都有类似的设置.

使用 cPanel 添加域别名

转到您的主机帐户的 cPanel 仪表板.在这里,在 Domains 部分下查找名为 AliasParked Domains 的选项.

域名别名(或停放域名)让您可以从不同的域名访问您的网站.例如,您可以让 www.domain.orgwww.domain.edu 显示来自 www.domain.com 的内容.如需了解详情,请前往 cPanel 文档.

在我的示例中,我将使用 别名 选项.您的 cPanel 仪表板可能有 Parked Domains 选项.他们都指的是同一件事.点击它开始.

cPanel dashboard showing the Alias option under Domains section

通过输入您的子站点的自定义域名并点击添加域按钮来创建新别名.

Screen for Creating a new Alias or Parked Domain in cPanel Dashboard

某些网络主机会自动为任何域别名设置重定向.您可以通过查看重定向至列来确认这一点.就我而言,没有设置任何重定向.

Confirm that there's no redirection set for the Alias or Parked Domain

如果设置了重定向,请点击右侧的管理重定向链接,然后选择禁用重定向.

您现在已将子网站的自定义域添加到您的托管帐户.

使用 WPMU DEV 托管添加域

在 WPMU DEV Hosting 上添加您的子站点的域是轻而易举的.

转到托管仪表板中的标签,然后点击蓝色的添加域按钮.

Adding a Domain in WPMU DEV Hosting

在弹出窗口中输入您子网站的自定义域名.我建议您在此处勾选 Also use www.your-domain.com 复选框.然后点击添加域按钮.

Add a Domain popup screen in WPMU DEV Hosting

一旦您添加了子网站的自定义域,我们的系统将自动检查其 DNS 记录是否解析为您的托管服务器的 IP 地址.如果失败,它会在几分钟后重试.这将一直持续到成功为止.

如果您不耐烦,可以单击重新检查 DNS 链接以手动触发检查.

WPMU DEV Hosting automatically checks of DNS Records propagation

注意 DNS 状态列中的绿色勾号,以确认您的自定义域的 DNS 记录已成功传播.

WPMU DEV Hosting 的众多优势之一是所有添加域的自动 SSL 证书.我们的托管系统一旦发现您的域的 DNS 记录向我们解析,它就会自动为该域安装一个免费的 SSL 证书.不再涉及 SSH 或 2000 年代的笨重网络应用程序!

WPMU DEV Hosting green tick in DNS Status and SSL Status columns after successfully adding a domain

完成后,您还会收到一封电子邮件.当我们说完全托管时,我们是认真的!

第 4 步:将网络子站点映射到其自定义域

当您向 WordPress 多站点网络添加子站点时,您需要为其指定子域或子目录名称(取决于您的网络设置).这就是我们需要映射的内容.

在下面的示例中,我们有一个多站点网络 (wpdemo.wpmudev.host),子站点被分配为子目录 (alpha, beta, charlie).

The Sites panel in a WordPress Multisite Dashboard

转到网络管理仪表板中的站点面板.在这里,将鼠标悬停在要映射其域的子站点上.点击编辑按钮.

Clicking the Edit link of a Subsite in the Sites panel of a WordPress Multisite Network

在其站点地址 (URL) 字段中输入您要映射的自定义域.然后,点击蓝色的保存更改按钮.

Edit screen of subsites in a WordPress Multisite network

现在,您的 WordPress 多站点网络认为该子站点位于其自定义域(即 domain1.com),而不是其带有子目录扩展名的默认 URL.

这完成了自定义域到您的子站点的映射.

当您在浏览器中访问自定义域时,它会指向它所映射到的子站点.

注意:您无法从此处映射主安装的域名(即 network.com).您可以改为直接从其域/托管设置将其重定向到另一个域.

第 5 步:对更多子网站重复此过程

如果您的多站点网络上有多个子站点,并且希望它们都在自己的自定义域上运行,则需要重复步骤 2、3 和步骤4.就是这么简单!

为您的映射域添加 SSL 证书

为主要网络域和所有映射域安装 SSL 证书至关重要.它不仅对多站点网络的安全至关重要,而且对 SEO 也有很大帮助.Google 在其搜索结果中对 SSL 认证网站的排名更高.

如果您使用 WPMU DEV Hosting,我们会为您添加到帐户的所有域安装 SSL 证书.但大多数基本的共享主机设置不支持在同一帐户上为多个域安装多个 SSL 证书.

这是我们论坛中的一个相关主题,讨论了同样的问题.您需要与您的托管服务提供商取得联系.告诉他们您有一个多站点网络设置,为每个子站点映射了唯一的域,并且您希望为所有这些映射域安装 SSL 证书.可靠的主机肯定会帮助您解决这个问题.

需要专家帮助吗?您可以始终依赖我们的 24/7 全天候在线支持团队.开始我们的免费试用会员资格!

修复网络子站点登录错误

WordPress 多站点网络管理员面临的最常见问题之一是无法登录其子站点.您很可能会遇到有关阻止 cookie 的错误.在极少数情况下,您甚至可能无法登录且根本没有错误消息.

这是一个简单的修复.打开您的 wp-config.php 文件并在您添加的用于创建网络的行之后添加以下代码.

define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);

如果这仍然不能解决问题,您需要与您的托管服务提供商的支持人员联系.

WordPress 映射,让您不会迷路

删除多余的部分,并为您的多站点网络上的每个子站点指定一个唯一的 URL.它不仅可以让您更轻松地找到所有网站,还可以更好地为它们打造品牌.无论您是为单个公司设置独特的产品子站点,还是在单个多站点网络上托管您的客户网站,域映射都是您的不二之选.

将自定义域映射到 WordPress 多站点网络上的子站点并不难.旧版本的 WordPress 更难,就像我们所有的父母在他们的时代

WordPress 4.5 改变了游戏规则.不再涉及第三方插件和复杂的配置.只需点击几下即可启动并运行.

是时候让您的 WordPress Multisite 成为具有域映射的传奇了!

标签:

7

发表回复