wordpress 如何开启多站点?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
话说,苏南大叔想写几个不同主题的前端博客。但是又不想频繁切换后台。就想到当年wordpress
有个mu
版来着。上个月有空去看的时候,https://mu.wordpress.org/ 上面,白纸黑字写的明明白白,这个mu
版已经不是独立的wordpress
版本了,其功能已经整合到wordpress
的正常版本里面去了。额,好吧,总是感觉,世界变化太快。赶不上时代的潮流。
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);
再次进入后台,就果断看到了新的设置界面。(跟发现彩蛋的心情是一样的。哈哈)。菜单位置是:工具=>设置网络
。
接下来询问,是要二级域名模式,还是要二级目录形式。苏南大叔建议您选择:二级域名模式。根据提示下一步。
然后,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
经验文章,请支持苏南大叔的博客。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。