重新升级至 WordPress 多站点模式

2017-04-08 · · 24 Comments

早在几年前就弄过 WordPress 多站点模式了,那时候还弄过独立域名映射。后来更换主机,加上懒癌发作就直接去掉了,昨天心血来潮又折腾上了。其实多站点模式也挺好的,维护一套 WordPress 程序就可以很方便的新建独立的站点,比如开个测试站、主题展示站……

记录一下步骤:

1、备份整站数据

2、打开 wp-config.php,在 define('WP_DEBUG', false); 之前添加 define('WP_ALLOW_MULTISITE', true);

3、重新登录 WordPress 后台,打开 Tools –> Network (工具 –> 网络)就可以看到网络设置,输入站点网络名和管理员 Email 信息,点 Install 安装即可。

4、打开 wp-config.php,删除第二步添加的 define('WP_ALLOW_MULTISITE', true); 然后按照向导程序的提示分别将给出的文件内容添加到 wp-config.php 和 .htaccess 两个文件中。

wp-config.php 文件添加的内容,分两种情况:

a.子域名模式,添加以下代码:

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);

b.子目录模式,则添加以下代码:

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

.htaccess 文件添加的代码也分两种情况:

a.子域名模式,添加以下代码:

# 开始 WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# 文件上传
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
# 结束 WordPress

b.子目录模式,则添加以下代码:

# 开始 WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# 上传文件
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# 为 /wp-admin 加上一个斜杠
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# 结束 WordPress

昨天折腾的时候我就在这里倒下了,我选择的是子目录模式,却在 .htaccess 文件中添加了子域名模式的代码,导致添加的子站点后台无法进去,前台可以访问,但是无法加载CSS和图片等东西。放狗搜索到【WordPress 多用户模式子站点无法加载 CSS】,才恍然大悟~哎,粗心大意。

5、修改固定链接结构

a.主站点——默认就是最初安装时的主域名,比如我这里就是:cyhour.com

如果是子域名模式,直接在这个主站的仪表盘 设置 -> 固定链接 修改即可。如果是子目录模式,主站点的文章都自动在链接中添加了 /blog/,这个时候直接在主站点的仪表盘 设置 -> 固定链接 设置结构,是无法去除 /blog/ 的。

解决办法:打开所有站点,点击主站点的编辑。

 499-all-mainsite

切换到【设置】标签,找到 Permalink Structure ,在这里直接填写固定链接结构(比如我的是 /%post_id%/),保存。然后到主站的仪表盘 设置 -> 固定链接 修改保存一下即可。这样就可以完美去除固定链接的 /bolg/。

 499-mainsite-permalink-structure

b.子站点

子站点直接在相应的子站点的仪表盘 设置 -> 固定链接 里修改即可。若不生效,可以按照上面主站点的方法修改。


参考资源:

1、WordPress 官网 - zh-cn:创建站点网络

2、水景一页 - 升级至 WordPress 3.0 多站点模式

3、WordPress 大学 - WordPress 开启多站点(含Apache和Nginx伪静态规则)

完。

支付宝扫码打赏微信打赏

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

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

Comments:24

  1. 准备写几个博客?

    2017.04.08 20:05 # 回复
    1楼
  2. 这。。。真够折腾的,有时候总想搞点其他的站点而不写博客。
    可是到头来,连博客都更新那么不勤快,其他的怎么弄得好。

    2017.04.08 21:00 # 回复
    2楼
    • @fooleap 不算折腾啊,转换起来挺简单的。至于弄得好不好,与这个没有太大关系,至少对我来说是这样。不弄这个,博客也就是自娱自乐的地方;弄了这个,还是那个样子。

      2017.04.08 23:31 # 回复
  3. 哈哈,折腾无极限啊

    2017.04.08 23:56 # 回复
    3楼
    • @路杨 不至于吧?也不是很复杂很难的事情。

      2017.04.09 18:45 # 回复
      • @老杨 首先,需要泛域名解析支持。其次,需要想好子域名代表的意思,再次,考虑 cookie 公用原则。所以我才说,折腾啊。哈哈

        2017.04.09 19:54 # 回复
  4. 喜好搞网站的都建立过无数垃圾站,哈哈。。然后一个个的等着长草。曾经音乐,文章,教程,哲学,下载,等等站点,这种分站适合yo2以前那种博客商服务,我在想如今那些wordpress博客商我看都差不多倒下去了,只有wordpress官方了吧。

    2017.04.09 07:01 # 回复
    4楼
  5. 好文,提醒我了,因为历史原因我一直是维护俩站点,现在打算合并成子域名模式方便管理。

    2017.04.09 19:06 # 回复
    5楼
  6. 一个博客都懒得更新,再多都是等着长草

    2017.04.09 21:20 # 回复
    6楼
  7. 维护着两个博客,一个朋友,一个自己的。都是有内容更新的……这种一套代码维护两个站点的。感觉可能问题会很多……JS都涉及到域名了

    2017.04.10 09:32 # 回复
    7楼
    • @随望淡思 会有什么很大的问题呢?WordPress.com 不就是活生生的多站点?当然,它更复杂。js 涉及域名?多站点也可以映射独立域名的,并且,不同站点一般用的主题不一样啊。数据库是同一个数据库,但是不同博客会有不一样的表,插件倒是得共用。

      2017.04.10 10:11 # 回复
  8. 上传文件可以共用么

    2017.04.10 12:58 # 回复
    8楼
    • @maie 文件肯定可以吧?后台多媒体就不知道了,我没用那货,图片啥的都是 ftp 上传的。

      2017.04.10 13:20 # 回复
  9. 你这样做并没有什么优势或好处吧

    2017.04.12 23:43 # 回复
    9楼
  10. 第一次听说wordpress多站点模式。不知道是不是一个后台来管理多个网站?我每次新建网站都是分配服务器来分配虚拟主机安装wordpress程序。

    2017.05.28 05:07 # 回复
    10楼
    • @mrjucn 一个后台管理站点列表,每个站点都有自己的后台。实际使用得自己试过才能更好的体会。

      2017.05.29 09:43 # 回复
  11. 太多了没空折腾

    2017.06.13 19:52 # 回复
    11楼
    • @小萝博客 嗯,我现在又撤掉了,使用一段时间发现多站点会很慢,可能是我主机配置太低了。

      2017.06.15 16:25 # 回复

发表留言