折腾WordPress MU多站点设置与独立域名映射

2014.11.27 | | 0 Comment

在WordPress 3.0版本中,已经开始提供了创建一个多站点博客网络的功能,此文仅是记录一下折腾如何创建这么一个网络的说明。切记,开启多站点博客网络之前一定要先备份好数据。

基本流程:检查主机是否支持 –> 全新安装 WordPress 3.0+ –> 启用 Network –> 导入数据 –> 调整数据 –> 独立域名映射。

检查主机是否支持

WordPress 必须安装在网站根目录下,创建网络时会让您选择是以子域名的方式来创建网络,还是以子目录的方式来创建网络,它们的形式如下:

  • 子域名方式 —— site1.example.com 或 site2.example.com,原理是使用通配符子域(即'*'),必须在Apache中开启此功能, 然后在DNS记录里添加通配符子域。有些主机已经设置了通配符在服务器端,这意味着您只需要添加DNS记录。 一些共享的主机商可能不支持这个,所以您可能需要启用此功能前,请检查您的虚拟主机提供商。
  • 子目录方式 —— example.com/site1 或 example.com/site2,原理是使用服务器上 mod_rewrite 的功能,需有阅读 .htaccess 文档的基础知识。

WordPress 必要的设置

  1. 如下列的情况,那你不能创建一个站点网络 :
    • "WordPress地址 (URL)" 不等同于 "网站地址(URL)".
    • "WordPress地址(URL)" 使用数字端口':80', ':443'.
  2. 如下列的情况,你不能选择 子域 安装:
    • WordPress安装在一个目录(文件夹)里(不是根目录).
    • "WordPress地址(URL)" 是localhost(即本地环境).
    • "WordPress地址(URL)" 是IP地址,如127.0.0.1.

安装 WordPress 3.0+

这个就不多介绍了,直接按照向导安装即可。我测试的时候是直接用已经安装好的独立站点开启多站点的,不过还是建议全新安装。

启用 Network

前面介绍到 MU 里面 Network 有两种形式:1是子域名,2是目录,比如 gkp.com/a 和 gkp.com/b ,可以根据个人喜好选择。我选择的是子目录形式(后续均为以子目录建立多站点网络内容)

打开 wp-config.php,将下面这行添加在 define('WP_DEBUG', false); 之前:

define('WP_ALLOW_MULTISITE', true);

之后就可以在后台的 Tools –> Network 看到网络设置了,在这里输入网络的名字和管理员 Email 等信息,点 Install 安装。

然后按照向导程序的提示分别将给出的文件内容添加到 wp-config.php 和 .htaccess 两个文件中。至此 WordPress MU 网络的设置就完成了,重新登录后台就可以看到左上方多出了站点网络相关菜单。

导入数据

建议直接在原 blog 使用 export 导出 xml,新 blog 这边用 wordpress importer 导入,支持作者映射和附件下载。

调整数据

主要是上传文件位置,比如 example.com/wp-content/uploads/ 之前文章中引用的都是这样的地址,可以直接在导出后修改数据库。

独立域名映射

  1. 从主站点后台安装并启用 WordPress MU Domain Mapping 插件;
  2. 在该插件目录复制 sunrise.php 一份到 wp-content 目录;
  3. 修改wp-config.php,在 /* 好了!请不要再继续编辑。请保存本文件。使用愉快! */ 前面加入一行 define( 'SUNRISE', 'on' );
    进入主站点后台 设置 -> Domain Mapping 里面输入服务器的 IP 地址(或者是一个 CNAME),设置下是否允许用户自行设置域名映射等选项,然后保存即可。
  4. 主站点后台 设置 -> Domains 里面,或者各个子网站管理员后台的 Tools –>Domain Mapping 里面设置域名了,每个网站支持多个域名映射,需要设置一个 primary 域名,最终所有的域名都重定向到这里。

查看 Site ID 方法: 主站点 -> 站点 -> 所有站点 ,鼠标放到 路径 上去,在浏览器左下角看到链接地址?id=xx。

###############Tips###############

  1. WordPress开启目录形式多站点去掉永久链接前的 blog :wp-config.php 中有一个配置是 define('BLOG_ID_CURRENT_SITE', 1);表示Site ID 为 1 的站点为默认博客,这个博客固定链接会加了/blog/,只要将1改为一个不存在的 Site ID 即可,比如8。

参考资料:

  1. 官方文档:创建站点网络
  2. Gkp's Post:WordPress 3.0 MU 设置与独立域名映射
  3. 乌徒帮:WordPress开启目录形式多站点去掉永久链接前的blog
  4. 水景一页:升级至WordPress 3.0多站点模式
  5. 水景一页:升级到WordPress 3.0多站点模式问题探索
——最近更新:2015年9月14日
支付宝扫码打赏微信打赏

如果文章对您有帮助,欢迎移至上方按钮打赏老杨

声明: 除非注明,常阳时光文章均为原创,转载请以链接形式标明本文地址
本文地址:https://cyhour.com/138/

Comments:0

发表留言