wordpress 3.0 以上的版本已经支持开启多站点模式,也就是所谓的站群模式,可以在同一个后台切换不同的网站来管理。博主服务器环境的配置如下:
wordpress版本:4.7
服务器环境:centos7+nginx+mysq5.6+php7
一、开启多站点的准备
多站点模式分为:二级域名站和目录站,如果你准备开启二级域名站,必须将www.xxx.com xxx.com *.xxx.com做一个域名解析;此文章主要讲解开启二级域名站点的方法,因为wordpress目录站原理相同且更加的简单;
二、开启网络配置
在网站根目录下的 wp-config.php 添加以下代码:
define('WP_ALLOW_MULTISITE', true);
三、刷新网站后台,并重新登陆。访问:工具 - 配置网络;
新版的wordpress会出现如下界面:
如果出现:“因为你的安装并非全新,你的网络中的站点必须使用子域名。在子目录设置中的主站点将会需要使用修改过的永久链接结构,这有可能破解现有的链接”这个问题!我们不需要担心,因为你是开启目录站群,还是二级域名站群是由代码说了算,并不是这里。你只需要让你的服务器支持目录站群,二级域名站群即可。具体请继续往下看:
四、点击上图安装;
出现以界面,如下图:
1、如果你是开启二级域名站群,请将以下代码加入wp-config.php文件中;
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'ceshifujieace.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
2、如果你是开启目录站群,请将以下代码加入wp-config.php文件中;
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'ceshifujieace.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
提示:因为我们在第三步的时候需要选择是域名还是目录对吧!其实这一步随意选择也不影响。最主要的是第四步开启的代码,如果你仔细看,会发现:
开启二级域名主要控制代码:define('SUBDOMAIN_INSTALL', true);
开启目录站点同样也是这段代码:define('SUBDOMAIN_INSTALL', false);
唯一的区别是,一个是true,一个是false;这段代码才是真正控制是否开启二级域名站群还是目录站群;
注意:如果你开启的是wordpress目录站群,请查看:WordPress二级目录站伪静态设置方法;
如果不做,很有可能,你的二级目录站设置了“固定链接”后打开会是404状态。
五、伪静态文件设置
我们在启用网络的时候会给我们一个默认的wordpress规则,Apache伪静态规则如下:
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} -dRewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
这个规则有时候不需要,根据你的服务器环境来,博主的博客用的是nginx,我就没有用这个伪静态规则,因为博主最开始做wordpress博客的时候还没有开启多站点,伪静态用nginx已经做好了。
因此:如果你不是Apache,建议这个规则先不要加,看你的网站是否能正常访问?
六、服务器必须支持泛解析
第一步讲的是域名要开启泛解析,如果你的服务器不支持的话,这也是不行的,因为博主用的是独立IP的云服务器,2G 2核2M,这样的配置当然支持泛解析喽,加上我又用的是nginx,因为我只需要在nginx.conf 做以下设置:
server_name fujieace.com,www.fujieace.com,*.fujieace.com;
如果你是apache配置的话,也可以解析多个域名,这个就不用说了吧,PHP环境配置都非常简单。如果你想开启wordpress多站点,站群功能,遇到问题或者是不会可以直接找我,我会帮助你的。
开启成功后结果如下图,顺便再说一下wordpress多站点它的插件可以共用,也可以独立安装,模板也可以共用,多站点就是每一个站点都是独立的,每一个站点都可以拥有不同的模板;
注意:虽然说网上有一些wordpress多站点教程,有些教程会提到wordpress多站点网络共享图片媒体文件,wordpress多站点网络克隆网站数据和设置,这个我是不想讲的,也没必要讲,只需要搞插件。更为主要的是,如果你真的这样做,反而对你的网站不好,很容易出现网站降权,网站被K的局面;
我不知道你是不是SEO出身,你是否懂SEO技术,拿我自己博客这个wordpress多站点来说,本身就是泛解析到同个IP上,专业点可以叫:同IP二级域名站群,如果你不能保证下面每个二级域名内容不一样,你直接克隆主网站的内容,这不是自己坑自己吗?如果你只想做短期的流量,那倒无所谓了。我主要讲的是长久的方面。短期站群也不适合大多数人。
想利用wordpress多站点搞短期流量的有两个必备插件:
1、Network Shared Media 插件(wordpress多站点网络共享了图片媒体文件);
2、Multisite Cloner 插件(WordPress 多站点网络克隆网站数据和设置);
这两款插件的用法我就不讲了,请自行去搜索引擎查找答案,做这些必须是互联网高手才能做的,否则结果你懂的。因为本身做站群就是一个很大的事情,也可以这么说,站群本身也是一门独立的课程。欢迎大家一起交流站群技术!
2019年12月27日 19:51:41 沙发
请教一下,主站的默认链接怎么从http改为https啊?子站点都能改就是主站改不了
2019年12月27日 20:33:30 1层
@log 你主站先支持了https再说,然后可以再做一个301重定向,http自动跳转https,或者直接用wordpress实现全站HTTPS插件:really-simple-ssl
2019年05月15日 09:35:12 板凳
求解,在开启多站点前,Wordpress URL 和 站点URL需要修改吗,要如何设置?如果想做成www.abc.com和blog.abc.com,另外abc.com自动转发到www.abc.com
2019年05月15日 11:34:02 1层
@Tommy 什么都不需要改,也不需要做什么abc.com自动转发到www.abc.com,开启后本身就会自动转。
2019年05月17日 14:54:48 2层
@付杰 安装完了,发现www.abc.com会自动转发到abc.com,另外blog.abc.com访问出现404,是哪里没设置好吗?域名解析了4个A标示,www, * ,@ ,blog
2019年05月17日 15:08:43 3层
@Tommy 解析了*,就不用解析blog这个了。
2019年05月02日 14:49:27 地板
求解宝塔环境centos7+nginx+mysq5.6+php7,开启wordpress多站点,主站www.aaa.com,可以方便配置ssl,方便https访问,但在此添加另一个网站www.bbb.com,应如何配置ssl证书?
2019年05月02日 22:02:20 1层
@鼎力 想要wordpress多站点都可以有https,首先你的SSL证书平台必须要支持泛解析才可以,这种平台我推荐你用Let’s Encrypt,既是免费的SSL证书,也已经支持泛解析了。
2019年04月02日 17:31:46 4楼
您好,请问下亚马逊的虚拟主机是否可以开启多域名多站点?
2019年04月02日 17:37:18 1层
@奔四的蜗牛 这个就要看你的亚马逊的虚拟主机是怎么样的了?如果你的虚拟主机支持子目录,就可以开启子目录多站点。要想开通子域名多站点必须服务器。
2019年03月17日 01:34:13 5楼
我做了wp多站点,前面的根据网上搜索的教程也差不多弄好了,就是在解析二级域名这里卡了,我是ecs4核服务器,我在阿里云主域名下,解析了A类型,www2绑定了二级域名,记录值填写的服务器ip
但是二级域名打不开,提示的是:
没有找到站点
您的请求在Web服务器中没有找到对应的站点!
可能原因:
您没有将此域名或IP绑定到对应站点!
配置文件未生效!
如何解决:
检查是否已经绑定到对应站点,若确认已绑定,请尝试重载Web服务;
检查端口是否正确;
若您使用了CDN产品,请尝试清除CDN缓存;
普通网站访客,请联系网站管理员;
2019年03月17日 09:31:27 1层
@玉一道 wordpress开启二级域名泛解析站群,必须是“一级域名解析 + *泛解析”,例如:fujieace.com这样的域名才算一级域名,像www类似的其实也是二级域名。最好是Q上直接联系我,那样方便远程桌面,问题会更加的清楚明了。
2018年12月18日 23:43:13 6楼
您好,请问用宝塔面板,nginx,安装了wordpress 多站点。 最后替换了伪静态规则, 多站点是正常运行了。 但是根目录下的文件访问不了了,比如sitemap.xml就不能访问了,请问这个您遇到过么
2018年12月19日 14:20:59 1层
@Rocky 没有遇到过,给你两个思路:
1、你看下伪静态规则吧,nginx的规则和apache的规则是有所不一样的。
2、除了sitemap.xml以外,登陆、注册等也访问不了?看看有没有报什么错误提示?
2018年06月29日 10:55:32 7楼
是用来做企业站的,只做blog有点浪费了。
2018年06月29日 11:42:25 1层
@geniux 只为证明wordpress可以做站群,而且做站群效果很好!前提是会做的情况下。
2017年08月11日 22:13:00 8楼
一直认为wordpress很一般的,没想到还自带站群功能!
2017年08月09日 16:51:49 9楼
今天用windos IIS 配置wordpress目录站群失败了,我勒个去!
2017年08月09日 17:12:59 1层
@哥的鸡腿没了 建议用LNMP环境!至少要用Apache,IIS我还没有用它测试做过wordpress站群!
2017年08月11日 21:47:29 2层
@付杰 我配置子域名成功了,依然是博主的这文章提醒了我。做泛域名解析就好了
2017年05月11日 18:28:43 10楼
博主真心不错,特意找博主语音帮我解答了问题,我自己钻研了好几天都没有研究明白,lnmp服务器多站点也是博主帮我配置的,现在这样的好心人不多喽!
2017年05月10日 22:23:55 11楼
你好,我的wordpress在新建二级域名的时候,遇到了一个问题,目前我自己搞不定了,想咨询一下……
define(‘MULTISITE’, true);
define(‘SUBDOMAIN_INSTALL’, true);
define(‘DOMAIN_CURRENT_SITE’, ‘fb.ggfun.cn’);
define(‘PATH_CURRENT_SITE’, ‘/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);
因为我第一个站点本身就是一个二级域名,因此我在新建二级域名的时候:
define(‘DOMAIN_CURRENT_SITE’, ‘fb.ggfun.cn’);
这一行只能填 fb.ggfun.cn 这导致我后台新建站点的时候,只能新建*.fb.ggfun.cn的域名,而不是*.ggfun.cn的域名!
能不能帮我看下啊~
大兄弟!
2017年05月10日 22:27:34 1层
@笨蛋GGFUN wordpress多站点开启域名必须是 一级域名且不带www的,(例如:fujieace.com),服务器和域名都必须支持泛解析!