WordPress 多站点我听过很多次,最近在研究本站的时候用到了多站点功能,所以这里就把 WordPress 搭建多站点的具体步骤和方法记录分享一下。
如果您遇到本文未涉及的任何问题,请参阅官方文档。
目录
WordPress Multisite 简介
通常我们搭建WordPress网站的时候,一般的步骤是:添加虚拟主机、绑定域名、上传安装包、创建数据库、安装WordPress。
WordPress 多站点(子目录模式)只需要:开启多站点模式,添加新站点
如果是子域名模式的多站点,则需要多绑定一个域名,也比常规的安装方式更快,适合想要创建多个站点的人。
这些多站点共享主站点的数据库、主题文件、插件文件,只要主站点有资源,子站点就可以直接使用,省去了重复安装主题和插件的麻烦。
同时多个站点的用户数据也是可以互通的,若要升级wordpress 安装主题 无法创建目录,只需要升级主站点,其他子站点将自动升级。
WordPress 多站点启用教程
本文基于WordPress 5.2编写。
首先wordpress 安装主题 无法创建目录,将这行代码添加到需要启用多站点的 WordPress 站点配置文件 wp-config.php 中。
define('WP_ALLOW_MULTISITE', true);
添加上面的代码 /* 就这些,停止编辑!祝您博客愉快。*/。
然后刷新网站后端,就会出现配置网络的选项,如下所示。
您可以根据需要选择子域名和子目录。
子域名就是一个网站对应一个域名,子域名格式我没有测试过,如果要绑定其他域名可以参考这个教程。
子目录是当前域名后面的文件夹,例如爸爸的主题DEMO就是一个主题演示的子目录。
安装后,您需要将以下代码复制并添加到配置文件wp-config.php中。将其添加到之前添加的代码的下一行。
刷新 WordPress 后端,站点选项就会出现。
这里没有讲WordPress多站点的Nginx伪静态,只讲Apache的伪静态,后面我会分享Nginx的伪静态。
添加新站点,填写相应信息,如果启用了插件,需要先手动禁用所有插件。
WordPress 多站点 Nginx 伪静态规则
添加完之后我们访问刚刚添加的子站点,发现网页显示错位了,这是因为没有添加伪静态规则,我们来添加伪静态规则吧。
老爸目前使用的WordPress多站点Nginx伪静态规则如下
# wordpress固定链接设置 try_files $uri $uri/ /index.php?$args; # 管理面板添加斜杠 rewrite /wp-admin$ $scheme://$host$uri/ permanent; # 传递上传文件给 wp-includes/ms-files.php rewrite /files/$ /index.php last; # 重写多站点 '.../wp-.*' and '.../*.php'. if (!-e $request_filename) { rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last; rewrite ^/[_0-9a-zA-Z-]+.*(/wp-admin/.*.php)$ $1 last; rewrite ^/[_0-9a-zA-Z-]+(/.*.php)$ $1 last; }
另一条规则
#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;
4.8/5 – (9 票)
暂无评论内容