我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

话说,苏南大叔想写几个不同主题的前端博客。但是又不想频繁切换后台。就想到当年wordpress有个mu版来着。上个月有空去看的时候,https://mu.wordpress.org/ 上面,白纸黑字写的明明白白,这个mu版已经不是独立的wordpress版本了,其功能已经整合到wordpress的正常版本里面去了。额,好吧,总是感觉,世界变化太快。赶不上时代的潮流。

苏南大叔:wordpress 如何开启多站点? - wp_mu
wordpress 如何开启多站点?(图4-1)

WordPress MU is no longer a separate project; it is continuing development as part of the main WordPress branch under the name multisite or MS. This means that it will get more frequent updates and improvements.

开启彩蛋

下载安装好最新的wp后,按照网络上的教程,在wp-config.php上面添加了下面这句话。

define('WP_ALLOW_MULTISITE', true);

再次进入后台,就果断看到了新的设置界面。(跟发现彩蛋的心情是一样的。哈哈)。菜单位置是:工具=>设置网络

苏南大叔:wordpress 如何开启多站点? - wp_muti_site
wordpress 如何开启多站点?(图4-2)

接下来询问,是要二级域名模式,还是要二级目录形式。苏南大叔建议您选择:二级域名模式。根据提示下一步。

苏南大叔:wordpress 如何开启多站点? - wp_muti_site_2
wordpress 如何开启多站点?(图4-3)

然后,wp非常智能的发现:我的域名没有启用泛解析,好吧,我承认,我不需要泛解析。所以,没花这份钱。还好只是个警告。我已经提前设置好了单独的好几个二级域名解析。没设定泛解析。

修改wp-config.php

然后,wp提示修改wp-config.php,添加了些新的php语句。而且对添加的具体位置有要求,必须添加在“到此为止,别再修改了!开始写博客吧。”这个注释行的上方:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'yourdomain.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

当然,要格外注意的事项是:

  • 原本已经添加了一条wp-config.php的配置了,不要给覆盖掉。
define('WP_ALLOW_MULTISITE', true);
  • 新的配置项目中的'yourdomain.com',一定要替换掉,替换为你当前的域名!否则,会发生太多奇怪的事情!切记!

apache 规则

然后提示修改apache.htaccess文件

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

nginx 规则

但是,苏南大叔使用的是nginx,不是apache。所以,我想啊想,想起来,宝塔那边有个apache规则改写为nginx规则的功能。地址如下,机智如我。

转换好的规则放到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 如何开启多站点? - wp_muti_site_3
wordpress 如何开启多站点?(图4-4)

相关链接

总结

更多wordpress经验文章,请支持苏南大叔的博客。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   wordpress