如何将WordPress多站点从子域名转子目录形式

我之前在博客蓝色创想写了《宝塔面板启用WordPress多站点子域名、子目录》的文章,今天更新这篇文章把WordPress多站点从子域名转换成子目录形式。(因为子域名建站ssl不好整啊,子目录就简单多了,可以直接用主域名的ssl认证)。

第一步:修改WordPress多站点模式

打开wp-config.php文件,找到如下代码

define('SUBDOMAIN_INSTALL', true);

将“true”改成“false”,刷新网络后台中的“配置网络”,其中的两段代码将会发生改变,代码已经转换成了子目录形式,我们只需把第二段代码重新覆盖.htaccess文件的规则就可以,重新登录网络后台,WordPress多站点就从子域名转子目录就成功了。

第二步:修改伪静态规则

将第二段代码(即如下代码)加入WordPress伪静态规则里面,我用的是篱落的虚拟主机(香港机房免备案,速度快),它是Apache的web服务器,因此修改.htaccess文件即可。

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]

如果多站点中的网站都是绑定了域名,就不用做任何的修改,如果使用的是子域名,就需要将子域名全部换成子目录的链接了。

对于Apache服务器,到这一步已经可以正常使用Wordpress多站点,而Nginx服务器还需要添加如下代码到/usr/local/nginx/conf/vhost/yourdomain.com.conf文件中,请根据自己的服务器地址与域名来确定此文件的位置。具体位置在后台配置网络哪里会显示。

#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;
 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:蓝色创想 » 如何将WordPress多站点从子域名转子目录形式

分享到: 生成海报
本站源码仅供学习交流,如需商用请在官方购买正版。技术服务为增值服务。如有问题看联系站长QQ:1305675066

评论 抢沙发

实践是学习的最佳途径

了解更多联系我们
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活