WordPress3.0是一次比较大的升级,除了表面上翻新了主题之外,后台也做了较大变动。我最看中的功能其实是Network——类似于以前的WPMU,可以在一个底层管理系统下维护多个站点。我做网站这些年弄了好多“子站”,虽然并不常更新,但写的东西就那么关了也可惜。站点一多了最麻烦的就是升级的工作,每一个目录都要把文件拷贝一遍,然后一一设置,还有插件也都是要分别安装。所以WP3的这个Network的功能再合适不过了。

在升级后配置Network的过程中遇到一些问题,记录在此,如能帮到别人,幸甚。

  • Network有两种配置:子域名(sub-domain)和子目录(sub-directory)。有些服务器是不支持子域名的,子目录比较安全,我以前的子站的WP都是分装在不同目录的,所以就打算按照子目录来配置。
  • 设置子目录方式实际上不需要建立那个目录,如果以前有的话,必须删掉或者是重新命名。网站的地址全是由.htaccess来定义的。
  • BUT,升级安装的WordPress3.0不可以配置子目录,这个我想也应该和原版本中的设置有关系,反正我用upgrade之后,子目录的选项不出现。提示要新安装。于是就只好导出XML,做全新安装准备。
  • 全新安装后要先配置好Network功能,之后再导入原来的备份。我重建数据库安装新WP后马上导入文章的话,系统还是认为这不是一个“新”的安装,子目录设置失效。反复好几次。
  • 设置Network后,WP要写入两个文件,“.htaccess”和“wp-config.php”。都搞定后需要重新Login,这里遇到了一个大问题:我设置之后,登录不进去了,每次输入用户名和密码之后就还会被转回到Login的画面,没有办法继续。原因应该是出在.htaccess里面,可能是我的permalinks的设置与Network默认的有冲突,因为我发现最终Network的permalinks里面是强制加入了一个“blog”字段。不管怎样,重新清除.htaccess,然后才进入管理页面,这里把permalinks重设,再写入.htaccess就没问题了。
  • 加入子站很简单,就在Super Admin的界面按照指示操作就OK了。然后可以进入子站的Dashboard分别进行管理,这个时候再导入原来的文章比较合适。
  • 插件和主题文件都统一管理了,这有利也有弊,利是不必再到处上载文件了,弊是如果你有多个子站使用同一个主题,那么你在一个站中进行的修改将在其他站也反映出来,因为他们调用的是同一组文件。(Widgets是分开的,不会冲突)
  • 最后比较烦的是附件们。因为我是采用导出再导入的方式来移植的,那么,子站的文章中使用的图片等附件会失效。以前,如果你没有特殊设置的话,每个子站的文件都会上载到其“wp-content/uploads/”目录下面,而新的Network的管理方式是在“wp-content”下新建“blog.sir”目录,下面会分别有1,2,3这样的阿拉伯数字的顺序子目录,每个子目录下还要建立“files”目录,在这个下面管理各个分站的附件,地址由“.htaccess”来重置,类似于“youmainsite.com/subsite/files/filename.jpg”这样的。看“.htaccess”文件可以知道这个工作由“wp-include/ms-files.php”来完成。这样,知道了它的管理方式就可以有的放矢地修改了。把原来在uploads目录下的东西都统统用FTP转到某子站的文件目录下,比如“wp-content/blog.sir/2/files/”,然后在“.htaccess”里插入

    RewriteRule subdir2/wp-content/uploads/(.+) wp-includes/ms-files.php?file=$1 [L]

    这样一条重置规则就好了(subdir2替换成你的子站目录名),元文章中附件的地址会自动指到新的地址,对后来的附件管理也没有影响。

大概现在还记得的就是这些了。我的几个子站:

以后么就是研究研究3.0里的样式,再折腾折腾。

最近对网站开发重燃热情,欲罢不能,倒也没有“欲罢”。

 

Comments are closed.