搬码资源网广告位 搬码资源网广告位

宝塔环境下开启WordPress多站点(含伪静态)

下面是搬码源码网 abnma.com 通过网络收集整理的代码片段。搬码源码网小编现在分享给大家,也给大家做个参考。

为什么最近缙哥哥开始研究多站点了呢,因为多站点不用每次开个网站都要重新安装 wordpress,并且最重要的是可以多个 wordpress 网站之间用户数据共享,这才是缙哥哥想要的。否则以多站点大量插件不兼容的问题,缙哥哥是一点也不喜欢!

开启 wordpress 多站点网络配置

首先建议全新安装一个站点,并在网站根目录下的 wp-config.php 添加如下代码:

/* 开启 wordpress 多站点配置 – https://www.dujin.org/12501.html */

define(‘WP_ALLOW_MULTISITE’,true);

缙哥哥建议将上述代码复制到下方描述的位置上面。

/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */

配置多站点网络

由于缙哥哥实际操作为子目录形式,在此着重讲解。在上述“开启多站点配置”代码的下方,添加

define(‘MULTISITE’,true);

define(‘SUBDOMAIN_INSTALL’,false);

define(‘DOMAIN_CURRENT_SITE’,’yourdomain.com’);

define(‘PATH_CURRENT_SITE’,’/’);

define(‘SITE_ID_CURRENT_SITE’,1);

define(‘BLOG_ID_CURRENT_SITE’,1);

Apache 伪静态规则

在宝塔网站设置的伪静态中设置相关代码,将下方代码加入网站根目录中的 .htaccess 文件中,替换其他 wordpress 规则:

RewriteEngine On

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).*) $2 [L]

RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.PHP)$ $2 [L]

RewriteRule . index.PHP [L]

Nginx 伪静态规则

由于 wordpress 默认提供的是 apache 的伪静态规则,所以这里缙哥哥利用 宝塔规则转换工具:Apache 转 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 伪静态规则

然而,缙哥哥才添加后发现并不能访问网站,研究许久,发现需要在原本的 wordpress 伪静态规则之上进行添加,在此,列出完整的 wordpress 多站点 Nginx 伪静态规则,小伙伴们可根据本教程结合自己的实际情况进行调整。

location / {

index index.html index.PHP;

if (-f $request_filename/index.html){

rewrite (.*) $1/index.html break;

}

if (-f $request_filename/index.PHP){

rewrite (.*) $1/index.PHP;

}

if (!-f $request_filename){

rewrite (.*) /index.PHP;

}

#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;

 

}

 

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

缙哥哥建议另存为模板,比如命名为 wordpress 多站点伪静态 都可以,以免每次都要配置一遍!

OK,大功告成,这时候我们重新登录进入后台主站点设置固定链接,结果发现默认增加了 blog 前缀:

这可不是想要的结果,我们在左上角我的站点 → 管理网络 → 站点(所有站点) → 主站点 → 编辑 → 设置里面找到 Permalink Structure 将前面的 /blog 删掉即可

记得在最下方点击保存,这样就可以完美去除 wordpress 多站点 /blog 前缀,同时不会添加 index.PHP,搞定收工!

以上是搬码源码网(abnma.com)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得搬码源码网网站内容还不错,欢迎将搬码源码网网站推荐给程序员好友。

声明:
本站发布的文章及附件仅限用于学习和研究目的;不得将上述内容用于商业或非法用途,否则后果请用户自负。
本站资源来自网络收集,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
如果您喜欢该程序,请支持正版软件,得到更好的正版服务。
本文链接:https://www.abnma.com/11197.html,转载请注明出处。
如有侵权,请邮件联系我们删除处理。

0
搬码资源网广告位

评论0

请先

没有账号? 注册  忘记密码?