A8DOG

A8DOG

随便写写,记录折腾过程!
telegram

WordPress花样玩法,子目录多个WordPress网站共存!

WordPress 子目录多个网站,其实 WordPress 官方有多站点功能,但是开启后部分扩展性会限制,可能你们没有遇到,但是我遇到了,这里我详细记录一下子目录做站点的操作方法。

https://img.a8dog.com/i/2023/03/31/p3bmcx.webp

这个文章 29 号就写了,一直没有发布。。。

这里的测试环境为 nginx+php7.4+mysql5.7,一个常规的安装环境,并且开启多域名访问。
开启多域名访问在wp-config.phpdefine( 'WP_DEBUG', false ); 下添加代码即可!

define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);

子目录站点也想开启多域名就不能使用这个方法了,设 blog 为你的子目录站点,代码就是:

define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/blog');
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/blog');

当然这里修改就要到 blog/wp-config.php 这里修改。

教程开始:#

当前你的网站根目录已经有了一个 WordPress 站点,创建一个目录 blog,上传一个新的 WordPress 安装包上去,访问域名 + blog 安装即可!

目前 WordPress 已经完全支持到子目录安装,以前是不支持的,直接安装就好了。

注意在填写数据库的时候,数据库前骤需要修改,当前已经有了一个站点是 wp,那么你就修改成 wp2 或者 wp3 依此类推。

伪静态规则#

目前主站点的伪静态规则是:

location /
{
    try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

加入我们的子目录站点后,伪静态规则就是:

location /
{
    try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location /blog
{
    try_files $uri $uri/ /blog/index.php?$args;
}
rewrite /blog/wp-admin$ $scheme://$host$uri/ permanent;

如果你不只有一个,那么就需要按需添加你的伪静态规则。

这个样子两个站点就是独立的数据库和程序,此场景可以应用于不同模板直接的互通,不用分开管理。
有能力的还可以研究一下两个站点共用一个用户数据表等扩展功能。

我觉得最主要的应用场景为大型网站,文章数量多了查询起来就卡顿,把每个分类单独支开成一个网站。
这个样子数据表就小多了,查询起来也快一点,并且多了丰富的模板扩展性。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。