如何开启WordPress Multisite多站点网络

WordPress 的 Multisite 多站点模式,是指使用同一个 WordPress 程序搭建的多个独立 WordPress 站点。Wordpress 的多站点模式可以分为以下两种模式,以本站主域名 www.niuqi360.com 来举例:

1、子域名模式:blog.niuqi360.com;

2、子目录模式:www.niuqi360.com/blog/;

无论采用何种模式,都可以通过同一个管理后台对不同站点进行统一的管理。每个站点都会拥有自己独立的管理仪表盘,可以在各站点的仪表盘之间进行切换和管理。各站点的用户、文章、媒体等内容都互不影响。

如何开启Wordpress Multisite多站点网络
如何开启Wordpress Multisite多站点网络

开启多站点:

要在现有的Wordpress网站开启多站点模式,我们可以按照如下步骤进行操作:

  • 第一步、编辑 WordPress 网站根目录的 wp-config.php 配置文件,在文件中添加以下代码:define(‘WP_ALLOW_MULTISITE’, true);
  • 第二步、进入“Wordpress 仪表盘——插件——已安装的插件”中停用所有插件;
  • 第三步、添加第一步的代码后,便可以进入进入仪表盘,点击左侧“工具——配置网络”进入设置界面;
  • 第四步、在”创建 WordPress 站点网络”界面中根据需要选择“子域名”或“子目录”(子域名需要做域名泛解析,子目录直接跟着本教程操作即可),然后设置“站点标题”和“管理员电子邮件”,默认是主站的标题和邮箱:
  • 第五步、点击“安装”按钮后进入“正在启用网络”界面,在该界面 WordPress 会提供两部分代码,根据说明进行操作即可。
如何开启Wordpress Multisite多站点网络
如何开启Wordpress Multisite多站点网络

创建WordPress站点网络

警告: 检测到已存在的 WordPress 站点网络。

请完成配置步骤。如需创建新的站点网络,您需要清空或删除站点网络的数据库表。

正在启用站点网络

完成以下步骤来启用创建站点网络的功能。

注意: 我们建议您备份现有的 wp-config.php.htaccess 文件。

1、配置 wp-config.php 文件

将以下内容加入位于网站根目录下wp-config.php 文件,加在/* That’s all, stop editing! Happy publishing. */这行上方

如果是子目录模式:

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'www.niuqi360.com/blog' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

如果是子域名模式:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'blog.niuqi360.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

2、配置Apache 或者 Nginx

如果是Apache:

将这些加入位于网站根目录下的 .htaccess文件,替换其他WordPress规则:

如果是子目录模式:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /wordpress/abc/
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]

如果是子域名模式:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

如果是 Nginx:

在 Nginx 的配置文件中,加入:

#ignored: “-” thing used or unknown variable in regex/rew
rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
if (-f $request_filename){
	set $rule_2 1;
}
if (-d $request_filename){
	set $rule_2 1;
}
if ($rule_2 = "1"){
#ignored: “-” thing used or unknown variable in regex/rew
}
rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 last;
rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last;
rewrite /. /index.php last;

如果是子目录模式,就不用做更多设置。如果是子域名模式,还需要在 Nginx 的配置文件中或者是虚拟主机的配置文件中的 Server_Name 中添加以下内容:

server_name yourdomain.com *.yourdomain.com;

这样我们就完成了对 WordPress Multisite多站点网络的设置。

作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/wordpress/setup-wordpress-multisite/

发表评论

登录后才能评论