WordPress 内置多站点,即站群功能。如果有需要的话可以开启下。
1、在 wp-config.php 文件中添加 define('WP_ALLOW_MULTISITE', true);
代码,以允许开启站群功能。
注意:WordPress 未开启站群功能前后台显示界面及数据库显示界面如下:
2、允许开启站群功能后在 WP 后台/工具面板下可以看到【站点网络配置】功能。默认如果你的站点安装在了根目录会显示如下所示内容,即允许配置按子域名配置站群,还是按子目录配置站群。
如果你要开启站群功能的站点是已经超过一个月的站点,则只能按子域名配置站群。
如果你的站点默认就是以子目录的方式访问的,则只能按子目录配置站群。
当然后面你也可以通过配置define( 'SUBDOMAIN_INSTALL', false );
为 true 或 false 强行切换两种方式。
注意:如果希望主站直接访问域名就可以访问到,则在配置多站点前可以在“后台/设置/常规”中先配置好**站点地址(URL)**指向网站根目录即可,当然你也可以后面修改数据库中的 wp_blogs 与 wp_site 表也可以。
点击安装完成后,数据库中会新增如下几个表:
- wp_blogmeta: 每个站点的 Meta 信息。
- wp_blogs: 创建的每个站点都存储在表wp_blogs 中。
- wp_registration_log: 记录创建的每个新网站时创建的管理员用户。
- wp_signups: 此表保存通过登录注册过程注册站点的用户。
- wp_site: 该表包含主站点地址。
- wp_sitemeta: 主站的一些 Meta 信息。
3、选择配置站群的方式(子域名或子目录),数据表安装完成后会进入如下面板。系统会提示你讲以下代码配置到 wp-config.php 文件及 .htaccess 中去。
如果网站采用的是 Nginx 服务,则你的后台显示应该是这样的。
注意:Nginx 没有像 Apache 的 .htaccess 或 IIS 的 web.config 文件那样的目录级配置文件。所有配置都必须由管理员在服务器级别完成,WordPress 无法修改配置。而且 WordPress 大部分的文档都是以 Apache 配置的,建议不要使用 Nginx 服务。
wp-config.php 配置
define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', false ); define( 'DOMAIN_CURRENT_SITE', 'demo.zibuyu.life' ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 );
直接复制到上面 define('WP_ALLOW_MULTISITE', true);
代码后即可。
.htaccess 配置
# BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / 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).*) wordpress/$2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ wordpress/$2 [L] RewriteRule . index.php [L] # END WordPress
4、配置完成后刷新网站后台,重新登录即可完成配置。
5、安装完成后访问数据库,可以看到除主站点使用的原来的数据表, WordPress 为每一个站点以站点ID新建了单独的数据表用以管理各站点数据。
同时,文件上传目录,除主站点外的其他站点,所有上传文件储存在了 sites 文件夹中。
参考链接:
- WP 创建多站点网络须知:https://wordpress.org/support/article/before-you-create-a-network/
- WP 创建多站点网络:https://wordpress.org/support/article/create-a-network/
- WP 多站点网络管理:https://wordpress.org/support/article/multisite-network-administration/
- 调试 WordPress 网络:https://wordpress.org/support/article/debugging-a-wordpress-network/
- WP 数据库描述:https://codex.wordpress.org/Database_Description
- WP Nginx 配置:https://wordpress.org/support/article/nginx/
- Nginx 配置:https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/