zidon 发表于 2021-12-8 15:52:32

WordPress开启多站点教程

通过 WordPress 创建多用户blog时,需要 WordPress 安装在网站根目录下,方便开启多站点时,启用二级域名。

1、编辑 wp-config.php 文件,找到下面内容:

/* Add any custom values between this line and the "stop editing" line. */

// 在该行下添加如下代码:

/* 多站点 */
define( 'WP_ALLOW_MULTISITE', true );

2、登录 WordPress 后台,在插件菜单下禁用所有插件。然后点击工具- 站点网络配置,看自己需要选择”子域名“或”子目录“,然后点击”安装“即可。

在新页面中会显示启用”站点网络“的配置说明,操作步骤如下:

3、创建 WordPress 站点网络

注意: 建议操作前备份现有的 wp-config.php 和 .htaccess 文件。

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

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'wp58.w.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

2)将这些内容加入根目录的.htaccess文件,替换其他 WordPress 规则:

RewriteEngine On
RewriteRule .* -
RewriteBase /
RewriteRule ^index\.php$ -

# add a trailing slash to /wp-admin
RewriteRule ^(+/)?wp-admin$ $1wp-admin/

RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ -
RewriteRule ^(+/)?(wp-(content|admin|includes).*) $2
RewriteRule ^(+/)?(.*\.php)$ $2
RewriteRule . index.php

完成这些步骤后,您的站点网络即已启用并配置完成。现在需要重新登录。

4、重新登录 WordPress 后台,鼠标滑到左上角“我的站点”,可以看到“管理网络”菜单及子站列表。而“管理网络”菜单又包括仪表盘、站点、用户、主题、插件、设置。功能依次如下:

1)仪表盘:显示多站点下的概况信息,包括站点数、用户数的统计以及相关的搜索。

2)设置:设置有网络设置和站点网络配置两项,后者为前面提到的部署操作,网络设置页面主要包括运营设置、注册设置、新站点设置、上传设置、语言设置、菜单设置等六个方面。

运营设置:设置主站标题及管理员邮箱,更改邮箱即为更改管理员。
注册设置:是否启用注册、注册提醒、添加新用户及相关限制规则等。
新站点设置:新站点初始化的相关设置,欢迎邮件及初始内容的添加。
上传设置:上传配额及文件类型、大小的设置。
语言设置:设置新站点的默认语言。
菜单设置:是否启用插件管理菜单,开启后用户可启用及禁用自己站点的插件,但不能添加新插件。

3)站点:可以创建新站点及管理已有站点。

4)用户:可以创建新用户及管理已有用户。

5)主题:只有设置为“在站点网络中启用”的主题,用户才能使用。

6)插件:只有设置为“在站点网络中启用”的插件,站点才能使用。

以上及完成了 WordPress 多站点的部署工作。

5、WordPress多站点模式下修改主站域名

单站点 WordPress 更换域名,只需要在后台-设置中修改WordPress地址和站点地址即可。而多站点 WordPress 不能直接在后台修改,需要修改wp-config.php配置文件和在数据库中替换域名。

1)修改根目录wp-config.php文件将下面的oldwp.com替换为newwp.com:

define( 'DOMAIN_CURRENT_SITE', 'oldwp.com' );

2)在mysql数据库中替换新旧域名

在总站点、用户表中替换域名:
UPDATE `wp_blogs` SET `domain` = replace (`domain`,'oldwp.com','newwp.com');
UPDATE `wp_site` SET `domain` = replace (`domain`,'oldwp.com','newwp.com');
UPDATE `wp_sitemeta` SET `meta_value` = replace (`meta_value`,'oldwp.com','newwp.com');
UPDATE `wp_usermeta` SET `meta_value` = replace (`meta_value`,'oldwp.com','newwp.com');
UPDATE `wp_users` SET `user_url` = replace (`user_url`,'oldwp.com','newwp.com');

还需要在子站点各表中替换域名:
UPDATE `wp_comments` SET `comment_author_url` = replace (`comment_author_url`,'oldwp.com','newwp.com');
UPDATE `wp_options` SET `option_value` = replace (`option_value`,'oldwp.com','newwp.com');
UPDATE `wp_posts` SET `post_content` = replace (`post_content`,'oldwp.com','newwp.com');
UPDATE `wp_posts` SET `guid` = replace (`guid`,'oldwp.com','newwp.com');

UPDATE `wp_2_comments` SET `comment_author_url` = replace (`comment_author_url`,'oldwp.com','newwp.com');
UPDATE `wp_2_options` SET `option_value` = replace (`option_value`,'oldwp.com','newwp.com');
UPDATE `wp_2_posts` SET `post_content` = replace (`post_content`,'oldwp.com','newwp.com');
UPDATE `wp_2_posts` SET `guid` = replace (`guid`,'oldwp.com','newwp.com');

最后,如果新域名已经解析到服务器,那通过新域名就可以访问 WordPress 的站点了。


哈利波特牛 发表于 2021-12-25 17:54:16

这个一般用的人比较少吧

nihaolai 发表于 2023-2-26 18:35:45

好好好好好好好好好好好好好好好好好顶
页: [1]
查看完整版本: WordPress开启多站点教程