WordPress

WordPress MU多站点从子域名转子目录

LensNews

WordPress MU多站点从子域名转子目录
使用WordPress MU多站点来管理所有的站点确实很方便,可以省去很多重复的工作,节省资源。萨龙网络使用MU多站点已经很久,已经爱不释手,也帮很多客户安装了,反馈都很好。


萨龙网络使用了Woocommerce商城插件,安全支付时插件会要求使用https://才能访问,百度、谷歌等网站也使用https://访问,对使用https://的链接也是优先收录,所以决定申请了SSL证书,将网络中所有的站点都使用https://访问。萨龙网络多站点是使用的子域名,https://访问对于子域名形式的网站是不能访问,沃通的免费SSL只能申请5个域名,也不支持通配符,子域名需要重新申请SSL,为了使网站中所有的链接都换成https访问,把多站点从子域名转换成子目录形式问题都解决。

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

  1. define('SUBDOMAIN_INSTALL', true);

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

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

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

  1. #ignored: “-” thing used or unknown variable in regex/rew
  2. rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
  3. if (-f $request_filename){
  4.     set $rule_2 1;
  5. }
  6. if (-d $request_filename){
  7.     set $rule_2 1;
  8. }
  9. if ($rule_2 = "1"){
  10. #ignored: “-” thing used or unknown variable in regex/rew
  11. }
  12. rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 last;
  13. rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last;
  14. rewrite /. /index.php last;

保存好重启Nginx服务器,这样Wordpress MU多站点子目录形式的伪静态就可以正常使用。
原文地址

(1)

本文由 远方的雪山 作者:萨龙龙 发表,转载请注明来源!

LensNews

热评文章

评论:

1 条评论,访客:0 条,博主:0 条
  1. wbcm
    wbcm发布于: 

    根据楼主的方法,我成功的创建Wordpress(4.71)多站点,但Nginx规则,子目录,登录就报错。

发表回复