WordPress站点网络初步探索
WordPress 3.0+版本支持MultiSite,站点网络功能,也就是安装一份Wordpress,就可以弄出多个WP站点来,就像新浪博客那样。
默认情况下可以支持sub-domain(二级域名)和sub-directory(子目录)两种方式。官方文档提供了Apache的配置方式,nginx的配置文档要在nginx官网找。试了一下sub-domain模式,非常简单。
方法是这样的:
1、准备工作
先确定你的站点支持Pretty Permalink,如果你按我之前说的方法写.conf文件,那么就是支持的。
到你的域名解析面板里面,加一个二级域名,比如site2.domain.com。
另外你可能需要把所有的插件都停用。
2、安装站点网络
修改wp-config.php,在/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */的上面加这么一条:
define( 'WP_ALLOW_MULTISITE', true );
然后进到你的Wordpress后台去。你会发现在“工具”菜单里面多了一个“配置网络”,猛击点开它,填好一些项目后点“现在安装”。
有的人可能会被限制只能用sub-directory或者sub-domain,我这里就是只能用sub-domain,具体原因大概是和现有安装方式有关。比如要是你的WP安装在主站点的一个子目录,那就只能用sub-directory模式。
3、再次配置wp-config.php
现在页面上应该有两段提示。上一段就是告诉你怎么改wp-config的,大致是在/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */的上方,加上这么几条:
define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', 'www.doocoo.xyz'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
4、配置nginx
“配置网络”页面第二段提示的是修改Apache的方法,我们到nginx官网,参考这个页面下面Multisite的部分,修改站点的.conf文件(/etc/nginx/conf.d/site.conf)
- 最上面添加
map $http_host $blogid { default -999; }
- server_name改为
server_name domain.com *.domain.com;
你要是不嫌麻烦,罗列所有的xxx.domain.com也行。
- 添加
location ~ ^/files/(.*)$ { try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1 ; access_log off; log_not_found off;expires max; }
location ^~ /blogs.dir { internal; alias /var/www/example.com/htdocs/wp-content/blogs.dir; access_log off; log_not_found off; expires max; }
好了,保存,退出,重启nginx。
5、添加分站点
现在再进到WP后台,样子变了吧,现在是站点网络的主控后台了。
添加分站,分站域名就是你第一步新建的那个二级域名。其它的你自己看看就会了
OK,搞定!