启用 WordPress 3.0 的多站点支持功能

在 WordPress 3.0 开工的时候,就已经正式对外公布了本次更新最大的一个亮点,就是将 WordPress MU 与 WordPress 进行功能上的合并。这也就意味着,从 3.0 开始,WordPress 将真正意义上的支持多用户、多站点功能。

这几天,WordPress 3.0 的第一个 Beta 版本也对外发布了,虽然还处于紧张的开发调试阶段,但大家不妨先行进行一些测试。也好为以后的开发工作积累一些经验。

3.0 的多站点(Multisite)功能从最开始合并完毕后,直接可以在后台点击激活,到现在需要经过一些配置才可以使用,估计是考虑到某些用户可能会误点击而导致不必要的麻烦发生。

下面就介绍一下如何激活 WordPress 3.0 的多站点支持功能:

第一步,当然是下载最新版的 WordPress 程序,并进行安装。和以前的安装步骤并没有什么区别。

第二步,将以下代码加入到 wp-config.php 文件当中:

define ('WP_ALLOW_MULTISITE', true  ) ;

第三步,在 wp-content 目录中创建一个 blogs.dir 目录,用于存储子站点用户上传数据。

第四步,在后台的“Tools”(工具)菜单中会多出一个“Network”(网络)的项目。点击进入……

第五步,根据页面提示,对 wp-config.php 文件进行修改。(切记,修改前请备份。)

第六步,根据页面提示,覆盖 .htaccess 文件中的内容。(切记,修改前请备份。)

好了,通过以上六步的设置,现在刷新一下后台,也许会要求重新登陆。看一下原来左侧的导航栏上,是不是多出来一个“Super Admin”(超级管理)的栏目?点击里面各个功能项,如果您之前使用过 MU,您一定会觉得特别亲切。

在启用多站点功能之前,有几点需要大家注意:

第一,做好 wp-config.php 文件和 .htaccess 文件的备份。只要备份在手,恢复到单站点模式将易如反掌。

第二,在启用之前,请尽量将站点链接形式从默认形式改为其他形式。

第三,您的主机必须支持 Rewrite 功能。否则,您看到这里,属于浪费时间。

本文发布在 Dreamcolor's Cote,转载请保持文章完整并注明出处。

36 thoughts on “启用 WordPress 3.0 的多站点支持功能

  1. ssjjso

    我的域名是aofa.ws, 我用wordpress 3.0创建多站点
    在添加一个网站a时,网站地址怎么变成了a.www.aofa.ws了
    怎么改成a.aofa.ws

    Reply
    1. Dreamcolor Post author

      如果不是使用独立 IP,那么需要将绑定的域名加到自己的虚拟主机域名列表里。也就是说,还是需要涉及到域名绑定个数的限制。

      Reply
  2. cat

    您好,我跟着网上教程设置了好多次,主机商说他们支持泛解析的,但是二级域名一直无法访问,
    我的主机是DA后台的,也把二级域名绑定到主机了,但是一直是403错误,他们的技术说不懂WP程序,无法给我解答,找了一个下午,还是找到这里来了,想咨询一下,具体要怎么实现2级域名
    我现在站点是woopos.com 我注册了一个r.woopos.com 泛解析我在域名商那设置了,而且ping r.woopos.com是可以到我的IP(我是合租服务器,没有独立IP),应该怎么弄呢?请教一下。
    鞠躬

    Reply
  3. cat

    竟然可以访问了,看来没有独立IP的确就只能是建立空间商限制的15个域名,也就只能15个博客了。
    另外想问一下,假如我没有独立IP,用wp mu 2.9的话,可以多于15个博客吗?

    Reply
    1. Dreamcolor Post author

      能绑定多少个域名,就能开多少个独立域名的博客。和 WP 版本无关。二级域名博客的情况除外。

      Reply
      1. cat

        嗯,貌似是这样的,我现在主机不支持子目录绑定,但是支持15个域名绑定,我把他绑上去主站之后就可以访问了,
        另外还想问一下..比如我的主站abc.com,我想单独用一个主题,别的用户都不能用的主题,因为我想通过这个主题做一个网站的主页面,能调用每个用户的最新文章最新评论之类的~
        不知道能不能实现?
        现在的wp3给我的感觉不像以前的mu,不像一个提供博客的平台,只是像一个几个朋友建立的博客圈,没有主次之分了

        Reply
        1. Dreamcolor

          在超级管理的主题那里,禁用主站对应主题。然后在编辑主站的配置,将那个主题单独为主站启用。

          WordPress 3.0 启用多站点后,与 MU 完全一样。只要 MU 操作熟悉,那么 3.0 就没啥问题。

          Reply
  4. soname

    你好博主,我想请教一下为什么我开启了多站点,多站点的设置变成了英文??注册的说明等都成了英文?纠结啊

    Reply
    1. Dreamcolor Post author

      启用多站点功能后,在常规设置里面可以设置当前站点的语言。在超级管理的设置里面可以设置其它站点的默认语言。

      Reply
      1. soname

        谢谢博主的快速解答。我现在遇到的问题就是 仅仅是网络设置(就是多出来那个设置为英文)。
        这是我的设置首页截图..(http://pic.yupoo.com/zzy90/Asr3wLBM/Jvsbo.jpg )

        Reply
          1. soname

            谢谢博主。我想不到在cn.wordpress.org 上下的程序都不完整的。看着熟悉的中文,呵呵..神清气爽啊。谢谢

            Reply
            1. Dreamcolor Post author

              官方的翻译人员好像是已经差不多翻译完整了。可能只是需要重新下载官方语言包的原因。

              用谁的语言包无所谓,能看明白后台那些功能的意思才是重要的,感谢支持。

              Reply
  5. soname

    向博主再提一个wordpress多站点的问题,就是经过我测试,多站点发送的激活邮件在QQ邮箱上是收不到的。我在一个帖子上看到可以将那个激活链接显示出来..但我在网上找不到方法,不知道博主会不会呢??

    Reply
    1. Dreamcolor Post author

      QQ 邮箱收不到一些邮件,就像某些 Discuz 论坛在注册时会提示您尽量使用 Gmail 或 Hotmail 邮箱注册一样。可能会造成邮件丢失。

      我记得好像是有个直接注册而不需要发送激活邮件的插件,具体名字忘记了,也许你可以到官方插件目录里面,按照 Register 等等相关的关键字找一找。应该是能找到这种插件。

      Reply
      1. soname

        已经解决了..因为我那个多站点的发送邮箱没有填。所以被拦截了。我填了一个就没事了。感谢博主的回答啊..向你鞠躬..

        Reply
  6. soname

    不知道博主能否记起那个不用邮件就能激活注册的插件名称?我昨晚找了很多都不是的。而且自己英文水平很差。每次翻译都看不明白,郁闷啊

    Reply
      1. soname

        这个不行,呵呵..我昨天用过了。呵呵..可能要新开发的插件才行,毕竟3.01的多用户注册使用的注册程序不同。呵呵。那谢谢博主的博主。呵呵

        Reply
  7. 丝婷

    Dreamcolor,你好。
    我在VPS(IIS6)上安装了wordpres 3.04 ,打算开启多站点功能,已事先做好泛域名解析。
    开始的几步很顺利,但是修改完wp-config.php 和.htaccess 文件后,刷新后台,重新登陆后,没有出现“超级管理”,
    点开左边的“网络”菜单提示“警告:检测到一个已有wordpress网络”,接着下面提示要求新建blogs.dir目录和修改wp-config.php 和.htaccess 。

    我删掉数据库中新增加的6个表,重新开启了许多次,还是没有“超级管理”菜单。请求帮助。

    Reply
    1. Dreamcolor Post author

      你在 IIS 上面是如何实现 Rewrite 功能的?WordPress 需要 Apache 的 Mod_Rewrite 模块的支持才可以开启多站点。

      Reply
      1. mybaby

        [ISAPI_Rewrite]

        # Defend your computer from some worm attacks
        #RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]

        # 3600 = 1 hour
        CacheClockRate 3600
        RepeatLimit 32
        # Protect httpd.ini and httpd.parse.errors files
        # from accessing through HTTP
        # Rules to ensure that normal content gets through
        RewriteRule /software-files/(.*) /software-files/$1 [L]
        RewriteRule /images/(.*) /images/$1 [L]

        RewriteRule /360buy-union.txt /360buy-union.txt [L]
        RewriteRule /00011000000001101111000101220728269.txt /00011000000001101111000101220728269.txt [L]

        RewriteRule /blog/sitemap.xml /sitemap.xml [L]
        RewriteRule /blog/favicon.ico /favicon.ico [L]
        RewriteRule /blog/taobao(.*) /taobao/$1 [L]
        RewriteRule /blog/download(.*) /download/$1 [L]

        # For file-based wordpress content (i.e. theme), admin, etc.
        RewriteRule /blog/wp-(.*) /wp-$1 [L]
        # For normal wordpress content, via index.php
        RewriteRule ^/blog/$ /index.php [L]
        RewriteRule /blog/(.*) /index.php/$1 [L]

        Reply
  8. cow86

    你好,谢谢你的分享,搜索多站点时看到贵站的这篇文章,有些问题想请教下,如有时间请抽时间解答下,谢谢。

    实际上我自己原有一个blog,但现在想再做一个内容完全不同的blog,以后可能还会再加1个,也就是说可能最后会有3个blog。

    刚升级3.1,看到多站点功能,不知道效果如何有什么限制。我设想这3个blog应该是完全没有交集的,内容不同,域名不同,用户应该也不一样。实际上完全搭建3套wordpress是我最初的想法,但想知道我的这种情况有没有必要使用多站点功能来搭建,考虑多站点纯粹是希望省下一些维护工作(譬如更新插件、更新版本之类的),会不会有什么后遗症。

    嗯,所以我想请教的问题就是我的这种情况是否适合使用多站点,还是直接套3个wordpress好了呢?

    期待你的回复,谢谢~~~

    Reply
    1. Dreamcolor Post author

      看了一下您的需求。基本上可以说,如果是想完全隔离开三个网站的用户,那最好是独立安装三套 WordPress 程序。如果用户可以共存的话,那最好是启用 WP 的多站点功能。

      至于三个网站使用三个域名,可以使用 WP 的域名映射插件,本站有相关介绍和简体中文语言包。
      在搜索里面可以找到相关介绍和下载。
      http://dreamcolor.net/?s=domain+mapping

      Reply
  9. Jnxg

    为什么我按照上面的修改 工具下出现了网络. 但是根目录下没有 .htaccess 文件. 固定连接后也没有出来. 但是固定连接有效 创建一个 .htaccess 修改好 wp-config.php 上传 但是没有显示超级管理 XD

    Reply
  10. aaa

    请问一下!
    等到以下这个步骤时,
    3,将以下代码段添加到网站根目录下的 .htaccess 文件中
    要把后面的代码添加到 .htaccess里的什么位置呢?我的 .htaccess打开后里面只有一行字,我不晓得该放前面还是后面.....还是覆盖?

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>