多站点网络管理

创建多站点网络后,由于多站点的额外复杂性,您可能需要了解一些有关高级管理的额外信息。即使您熟悉 WordPress,多站点网络管理的位置和行为也可能令人困惑。

用户访问和功能 #

根据设计,添加到您网络的所有用户都将拥有对您网络上所有站点的订阅者访问权限。要为各个站点上的用户分配不同的默认角色,您必须使用插件。

站点管理员角色的能力在 WordPress 网络中也有所减少。站点管理员无法安装新主题或插件,也无法在其站点上编辑用户的个人资料。只有网络管理员(又名超级管理员)才能在 WordPress 网络中执行这些任务。

顶部↑

虽然永久链接将继续工作,但主站点(即创建的第一个站点)将有一个额外的条目blog,使您的 URL 看起来像domain.com/blog/YYYY/MM/POSTNAME

这是设计使然,以防止与子文件夹安装发生冲突。目前没有简单的方法来更改它,因为这样做会阻止 WordPress 自动检测您的主站点和任何子站点之间的冲突。这将在 WordPress 的未来版本中得到解决和定制。

另请注意,blog前缀不用于可直接在基地址下访问的静态页面,例如domain.com/PAGENAME. 如果您尝试在第一个站点中使用网络上另一个现有站点的名称创建一个静态页面,该页面的永久链接将获得一个后缀(例如domain.com/PAGENAME-2)。如果您使用现有静态页面的 slug 创建新站点,则该静态页面将无法再访问。为防止这种情况,您可以将静态页面的名称添加到黑名单中,这样就无法创建具有该名称的站点。

顶部↑

上传文件路径 #

您全新安装的第一个站点会将上传的文件放在 的传统位置/wp-content/uploads/,但是您网络上的所有后续 站点都将位于该/wp-content/uploads/sites/文件夹中,根据数据库指定的站点编号位于它们自己的子文件夹中。可以通过该 URL 访问这些文件。

这是多站点 3.0-3.4.2 的一个变化,其中子站点的图像存储在 /wp-content/blogs.dir/ 中并显示在http://example.com/files/等等http://example.com/sitename/files。如果您从 3.5 之前的多站点安装开始,如果您的图像显示为 /files/ 的 URL,则不是错误。

无论 WP 版本如何,站点管理员都无法更改这些位置。只有网络管理员可以在站点设置页面上进行更改。不建议您在不了解两者如何ms-files.php与您.htaccess的 . 如果 /files/ url 不起作用,则表明您的服务器上的 .htaccess 或 httpd.conf 文件配置错误。

顶部↑

插件 #

插件现在具有额外的灵活性,具体取决于它们在网络中的实施。所有插件都安装在网络仪表板的插件页面上,并且可以为每个站点或整个网络激活。

  • 站点特定插件:这些插件是从单个特定站点的插件页面中激活的。某些插件(例如联系表格)在单站点激活时效果最佳,因此它们可以将数据和设置存储在该单站点的数据库表中,而不是整个网络的表中。要单站点激活/停用的 WordPress 插件存储在 plugins 目录中。
  • 网络插件: 网络管理员可以在插件的网络管理仪表板中“网络激活”插件。一旦“网络激活”,插件将在所有站点中激活。“网络激活”插件在各个站点仪表板的插件列表中显示为“网络激活”。某些插件仅在网络激活时才能在多站点环境中运行。网络激活的 WordPress 插件也存储在插件目录中。
  • 必须使用的插件:整个网络上所有站点都可以使用的插件也可以作为单个文件或包含子文件夹的文件安装在 mu-plugins 目录中。不会读取文件夹中的任何文件。这些文件未激活或停用;如果它们存在,则使用它们。这些插件完全隐藏在每个站点的插件列表中。

并非存储库中的所有插件都可以在多站点环境中工作。有关特定插件是否可以在多站点网络中运行的信息,请查阅插件的存储库页面或联系开发人员。

如果您希望单站点管理员能够为其站点激活/停用特定于站点的插件,您需要从网络管理员的设置 -> 网络设置菜单(“菜单设置”)为单站点管理员启用插件页面。网络管理员将始终可以访问每个站点的插件。单个站点的管理员将能够激活和停用非网络激活的插件,但会将网络激活的插件视为“网络激活”,没有停用或设置选项。

有一些插件可以帮助批量激活/停用单个站点的插件。

顶部↑

主题 #

为整个网络安装所有主题。如果您编辑一个主题的代码,您将针对使用该主题的所有站点进行编辑。您可以安装插件WP Add Custom CSS以允许每个站点调整自己的 CSS 而不会影响其他任何人。此外,个别站点可能会使用主题定制器,并且它们的设置将仅存储在其站点的表中。

“网络激活”主题不会使其成为每个站点上的活动主题,而只是使其可在所有单个站点上激活。要在单个站点的仪表板中激活,主题必须在网络管理 – 编辑站点 – 主题选项卡中通过网络激活或启用。在单个站点中激活主题后,它可能会被网络停用,而不会影响它保持激活状态的单个站点。

默认情况下,WordPress 将最近的“二十……”指定为所有新网站的主题。这可以通过define('WP_DEFAULT_THEME', 'classic');在 wp-config.php 文件中添加一行来自定义,其中“经典”替换为主题的文件夹名称。

顶部↑

类别和标签 #

全局术语(即在网络上的站点之间共享标签和类别)在 WordPress 3.0 中不可用。您可以使用插件在站点的门户/首页或网络内的特定页面或站点上合并全局标签,以增加基于微分类内容的导航。

顶部↑

站点之间的内容共享 #

网络的站点是不同的站点,默认情况下不共享内容。将您的网络视为 WordPress.com 的迷你版。有几个插件可以帮助您在站点之间共享内容,例如这个

顶部↑

切换网络类型 #

可以在基于域(子域)和基于路径(子目录)的 Multisite 安装之间切换。如果您在单个站点上安装 WordPress 超过一个月,并试图将该站点激活到网络中,您将被告知使用子域站点。这是为了确保您在页面(例如 example.com/pagename )和站点(例如 example.com/sitename )之间没有冲突。如果您确信不会遇到此问题,则可以在完成初始设置后更改此设置。

在您的wp-config.php文件中,您需要更改以下定义调用SUBDOMAIN_INSTALL:对于基于域的网络(子域安装)

1define( 'SUBDOMAIN_INSTALL', true );

对于基于路径的网络(子目录安装)

1define( 'SUBDOMAIN_INSTALL', false );

您还必须将您的设置更改.htaccess为新设置。您可以前往网络管理员 — 设置 — 网络设置来查找新.htaccess规则,或参见下文。

请注意,根据设置要求,当在或上运行时,您不能从子目录切换到子域。由于 cookie 处理,这可能会导致根站点上的 reauth=1 无限循环。127.0.0.1localhost

顶部↑

Apache 虚拟主机和 Mod 重写 #

要使 mod_rewrite 在 Apache 虚拟主机中工作,您可能需要在 DocumentRoot 上设置一些选项。

<VirtualHost *:80>
  DocumentRoot /var/www/vhosts/wordpress
  <Directory /var/www/vhosts/wordpress>
    AllowOverride Fileinfo Options
  </Directory>

在某些情况下,您需要将 All 添加到 AllowOverride 才能遵守所有 htaccess 规则。

顶部↑

.htaccess 和 Mod 重写 #

与单站点 WordPress 不同,它可以使用“丑陋”的永久链接,因此不需要 Mod Rewrite,MultiSite需要使用它来格式化您的子站点的 URL。这需要使用 .htaccess 文件,如果您使用的是 SubFolders 或 SubDomain,其格式会略有不同。当 WordPress 安装在您网站的根文件夹中时,以下示例是 WordPress 子文件夹和子域的标准 .htaccess 条目。如果您在自己的文件夹中有 WordPress,则需要适当地更改 RewriteBase 的值。

提醒一下,这些是示例,适用于大多数(但不是全部)安装。

子文件夹示例

WordPress 3.0 到 3.4+

123456789101112131415161718# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index.php$ - [L] # uploaded filesRewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L] # add a trailing slash to /wp-adminRewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - [L]RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]RewriteRule . index.php [L]# END WordPress

WordPress 3.5+仅当您在 3.5 上启动多站点时才使用此功能。如果您从 3.4 升级到 3.5,请使用旧版本!

123456789101112131415# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index.php$ - [L] # add a trailing slash to /wp-adminRewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]RewriteRule . index.php [L]# END WordPress

子域示例

WordPress 3.0 到 3.4+

12345678910111213# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index.php$ - [L] # uploaded filesRewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L] RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - [L]RewriteRule . index.php [L]# END WordPress

WordPress 3.5+

123456789101112131415# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index.php$ - [L] # add a trailing slash to /wp-adminRewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - [L]RewriteRule ^(wp-(content|admin|includes).*) $1 [L]RewriteRule ^(.*\.php)$ wp/$1 [L]RewriteRule . index.php [L]# END WordPress

旧 WPMU 安装的问题

如果您将 WordPress MU 安装在子文件夹/子目录中(不是通过 ftp 安装在服务器上的根文件夹中)并且图像库有问题,缩略图和图像不显示,您可能需要手动添加文件目录的重写规则为如下:

1RewriteRule ^([_0-9a-zA-Z-]+/)?siteN/files/(.+) wp-content/blogs.dir/N/files/$2 [L]

将这些放在上传文件的正常调用之下

顶部↑

网络管理员链接已随 WordPress 的每个主要版本一起移动,因为这仍在进行中。根据您使用的 WordPress 版本,可以在以下位置找到该链接:

  • 3.0 – 一个名为Super Admin的菜单
  • 3.1 – 在“你好,你的名字”的管理标题上。
  • 3.2 – 在管理员标题上,作为“你好,你的名字”下的下拉菜单。
  • 3.3+ – 在管理栏上,作为“我的网站”下的下拉菜单

顶部↑

域映射 #

在 WordPress 4.5 之前,域映射需要一个域映射插件。在 WordPress 4.5+ 中,域映射是 Multisites 的原生功能。在WordPress 多站点域映射中了解如何使用此功能

顶部↑

移动多站点 #

移动多站点比移动单个安装更复杂。请在继续之前阅读移动 WordPress 多站点

顶部↑

导入网络 #

当您创建 WordPress 网络以导入其他站点时,您需要查看将多个博客迁移到 WordPress 多站点一文。

Powered by BetterDocs

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Scroll to Top