本节概述在开始创建多站点网络之前需要考虑的一些要求。
你真的需要网络吗?
多站点网络中的站点是独立的,非常类似于 WordPress.com 上的独立博客。它们并不像其他类型的网络中的事物那样相互连接(尽管插件可以在站点之间创建各种类型的连接)。如果你计划创建的站点之间联系紧密、共享数据或共享用户,那么多站点网络可能不是最佳解决方案。
例如,如果你只是希望不同的网页集合看起来截然不同,那么你可能可以通过使用插件来切换主题、模板或样式表,在单个站点中实现你的目标。
再举一个例子,如果你只是希望不同的用户组能够访问不同的信息,那么你可能可以通过使用插件来切换权限、菜单和链接 URL,在单个站点中实现你的目标。
本指南介绍如何在当前的 WordPress 安装中手动安装 WordPress 多站点功能。
多站点网络的类型
你可以根据希望网络如何处理 URL,以及是否允许最终用户按需创建新站点,从几种不同类型的多站点网络中进行选择。
不同类型的网络有不同的服务器要求,这些要求在下面的章节中描述。如果你不能完全控制服务器,那么某些类型的多站点网络对你来说可能不可用。例如,因为你使用了共享托管环境,所以你可能无法完全控制服务器。在这种情况下,你必须与托管环境的运营者协商相关要求。
网络中的站点拥有不同的 URL。你可以选择以下两种方式之一来指定站点的 URL:
- 每个站点都有一个不同的子域名。例如:
site1.example.com,site2.example.com。 - 每个站点都有一个不同的路径。例如:
example.com/site1,example.com/site2
此外,你还可以映射像 example1.com、example2.com 这样的域名,但建议使用插件。你可以直接在网络设置中进行更改,但这被视为高级管理操作。
管理站点
你还可以选择是否允许最终用户按需创建新站点。基于域名的按需站点通常只能使用像 site1.example.com 和 site2.example.com 这样的子域名来实现。基于路径的按需站点也是可能的。
多站点安装过程使用不同的术语。子域名安装会创建一个基于域名的网络,即使你可能为站点使用单独映射的域名而不是子域名。子目录安装会创建一个基于路径的网络,即使它不使用文件系统目录。如果你想使用子域名安装,必须将 WordPress 安装在 Web 路径的根目录下(即 domain.com),不过如果你选择让 WordPress 运行在自己的目录中,则不需要安装在根目录(即 /public_html/)。
多站点网络安装完成后,WordPress 在网络管理员用户界面中使用域名和路径这两个术语来表示每个站点的域名和路径。超级管理员(即多站点网络管理员)可以编辑站点的域名和路径设置,尽管对已建立的站点进行此操作是不常见的,因为这会改变它们的 URL。
插件可以扩展可用选项并帮助进行管理。请在插件目录中搜索“multisite",或者点击此链接。
管理员要求
要创建多站点网络,你必须是 WordPress 安装的管理员,并且通常需要访问服务器的文件系统,以便编辑文件和创建目录。例如,你可以使用FTP,或使用cPanel中的文件管理器,或以其他方式访问服务器的文件系统。
你不一定需要了解 WordPress开发、PHP、HTML、CSS、服务器管理或系统管理的知识,尽管了解这些内容可能对故障排除或在安装后自定义多站点网络有所帮助。
服务器要求
在规划网络时,有时使用开发服务器进行初步测试会有所帮助。然而,设置一个与生产服务器完全匹配的开发服务器并不总是可行的,将整个网络转移到生产服务器也可能不容易。在生产服务器上建立一个测试站点有时是测试你计划网络更有用的方法。
在所有情况下,你都需要确保服务器能够使用多站点所需的更复杂的.htaccess(或 nginx.conf 或 web.config)规则。
多站点需要在 Apache 服务器上加载mod_rewrite,支持.htaccess文件中的相关配置,并且 Options FollowSymLinks 要么已经启用,要么至少没有永久禁用。如果你有访问服务器配置的权限,那么可以使用 Directory 部分代替 .htaccess 文件。还要确保你的 httpd.conf 文件针对该域名的 vhost 将"AllowOverride"设置为"All"或"Options All"。关于上述任何内容,你可以向你的 Web 主机询问更多信息。
一些服务器要求取决于你想要创建的多站点网络的类型,如下所示。
基于域名的
也称为“子域名”安装,基于域名的网络使用类似 https://subsite.example.com 的 URL。
基于域名的网络将不同的域名映射到服务器文件系统中安装 WordPress 的同一个目录。你可以通过多种方式实现这一点,例如:
- 配置通配符子域名
- 配置虚拟主机,为每个主机指定相同的文档根目录
- 在cPanel或类似的 Web 托管控制面板中创建附加域名或子域名
按需基于域名的站点需要使用通配符子域名方法。你可以使用其他方法在同一网络中手动创建额外的站点。
无论你使用哪种方法,都需要配置 DNS(将域名映射到服务器的 IP 地址)和服务器(将域名映射到 WordPress 安装目录)。然后 WordPress 会将域名映射到站点。
为了使子域名正常工作,WordPress应该从 Web 文件夹的根目录运行(即public_html)。在非根目录中使子域名工作需要具备虚拟主机和重定向的经验。
外部链接:
- 通配符 DNS 记录(维基百科)
- Apache 虚拟主机(Apache HTTP Server 文档)
- cPanel 域名(cPanel 文档)
有关如何在各种系统上配置通配符子域名的示例,请参阅:配置通配符子域名
基于路径的
也称为“子文件夹”或“子目录”安装,基于路径的网络使用类似 https://example.com/subsite 的 URL。
如果你的站点已经在使用漂亮的固定链接,那么基于路径的网络也能正常工作,你不需要本节中的任何其他信息。话虽如此,请注意你的主站点将使用以下 URL 模式发布文章:https://example.com/blog/[postformat]/
目前,你不能在不通过非明显位置手动配置网络选项的情况下移除 blog 段。不建议这样做。
WordPress 设置要求
安装多站点网络时,你将从现有的 WordPress 安装开始。如果这是一个具有自己域名的全新安装,那么你不需要阅读本节。如果这是一个已建立的站点,或者仅通过域名无法访问,那么以下要求适用于将其转换为多站点网络。
注意
给 WordPress 分配自己的目录自 3.5 版本起可与多站点配合使用,但你必须在激活多站点之前进行“自有目录”的更改。
虽然不建议在域名 URL 中使用 www,但如果您选择这样做并计划为多站点使用子域名,请确保两者的网站地址和 WordPress 地址相同。此外,请记住某些主机默认会显示此类 URL:
出于此原因及许多其他原因,我们建议您在可能的情况下不要在域名中使用 www。如果您计划将其更改为domain.com或www.domain.com,请在开始多站点的其余设置之前进行更改,因为事后更改域名会更加复杂。
限制条件
在以下情况下,您无法创建网络:
- "WordPress address (URL)"使用的端口号不是':80'或':443'。
在以下情况下,您无法选择子域名安装(用于基于域名的网络):
- WordPress URL 包含路径,而不仅仅是域名。(即 WordPress 未安装在文档根目录中,或者您未使用该文档根目录的 URL。)
- "WordPress address (URL)"是
localhost。 - "WordPress address (URL)"是 IP 地址,例如 127.0.0.1。
(请注意,您可以通过使用 hosts 文件将其他主机名映射到 IP 地址 127.0.0.1,从而在本地机器上为测试目的创建基于域名的网络,这样您就无需使用主机名localhost。)
如果您的现有 WordPress 安装已配置超过一个月,则由于现有固定链接的问题,您无法选择子目录安装(用于基于路径的网络)。(此问题将在未来版本中修复。有关更多信息,请参阅切换网络类型。)
有关更多详细信息,请参阅wp-admin/network.php)

