一个 WordPress 安装,多个博客
September 22nd, 2008 at 02:13pm 雪山飞猪
你是否有多个博客,每个博客都是使用多个 WordPress 博客?那么你是否厌烦了重复多次的升级,重复多次的安装插件?如果是的,你是否尝试过一个 WordPress 安装,就能给多个博客使用呢?下面我就能讲讲我如何实现一个 WordPress 安装实现多个博客共同使用。
第一步,肯定是把所有的域名都指定到相同的 WordPress 安装目录下。这样才能使得所有博客使用同一个 WordPress 安装。
第二步要分两种情况:
第一种是使用不同的数据库。只需要在 wp-config.php 文件的开头加入以下代码:
$hostname = $_SERVER['HTTP_HOST']; switch ($hostname) { case "fairyfish.com": $db = "db1"; break; case "denis.fairyfish.com": $db = "db2"; break; } // ** MySQL settings ** // define('DB_NAME', $db); // The name of the database
代码很简单就是根据不同的域名,给 DB_NAME 不同的数据库名的值。这里是假定你使用相同的数据库用户名,如果你的数据库用户名,也可以在每个 case 语句中指定。
第二种情况是使用相同的数据库,这个时候我们可以使用不同 table_prefix 来搞定。方法基本和上面相同。我也不再重复代码。对于这种情况,已经有一款插件他能帮助你完成所有的了工作,WP-Hive,这款插件除了能够给你不同的博客指定一个不同的 table_prefix 之外,还能够通过 rewriter 实现每个博客都能有自己的 favicon,sitemap.xml 和 robots.txt。
最后让所有的博客使用相同的用户。这个功能只能适合 WordPress 2.6 之后的版本。实现方法是在 wp-config.php 文件中指定 CUSTOM_USER_TABLE 和 CUSTOM_USER_META_TABLE 这两个值为常量,使得所有的博客都是用同一个 USER 和 USERMETA 表,从而达到所有博客拥有相同的用户。
作者:雪山飞猪
原文链接:一个 WordPress 安装,多个博客


分享到 Twitter

1. mg12 | September 22, 2008 at 2:24 pm | #
沙发, 好介绍!
[回复该留言]但这样前提是要有多个数据库, 想想能不能在一个数据库中实现… (就是数据库的表的前缀不一样.)
2. 雪山飞猪 | September 22, 2008 at 2:26 pm | #
我晕,我都介绍了!
[回复该留言]3. dupola | September 22, 2008 at 3:38 pm | #
哇呀呀,这个可真好啊。
[回复该留言]4. Frank Richard | September 22, 2008 at 3:41 pm | #
支持 等下试试去!
[回复该留言]5. newstart | September 22, 2008 at 4:13 pm | #
最后的使用同一个用户还是没搞明白,是admin使用同样的帐户吗?
[回复该留言]6. 雪山飞猪 | September 22, 2008 at 4:23 pm | #
就是所有博客都使用 admin 这个帐户进行管理,密码都一样。
[回复该留言]7. 流星 | September 22, 2008 at 4:32 pm | #
当我看到第一步时候,我就知道我没戏了
红色主机目录绑定域名,仅限一个域名指入
不过好没精力维护多个博客,一个都好累……
[回复该留言]8. 85824 | September 22, 2008 at 4:42 pm | #
嘿嘿。学习学习。
[回复该留言]9. hiswing | September 22, 2008 at 6:53 pm | #
刚好有用3Q。
[回复该留言]10. Lucy | September 22, 2008 at 7:40 pm | #
看不懂诶
[回复该留言]看的懂的都是已经知道的人
没意义
11. kenzen | September 22, 2008 at 9:39 pm | #
cool
[回复该留言]真的是很巧妙的主意
12. MY-Hou | September 22, 2008 at 10:08 pm | #
唉..我还是2.5.1
[回复该留言]13. fisio | September 22, 2008 at 11:12 pm | #
牛逼大了。。。
[回复该留言]14. Alan | September 22, 2008 at 11:31 pm | #
正好有需要
[回复该留言]15. Francis | September 23, 2008 at 12:14 am | #
Big Brother is Watching U.
[回复该留言]各位小心啊,哈哈。
16. tsenfine | September 23, 2008 at 2:23 am | #
不错的想法,dennis能否告诉我这样子做出来的“多用户博客“跟wpmu有什么区别吗?
[回复该留言]17. Kola | September 23, 2008 at 9:02 am | #
一个WordPress博客可以使用多域名么?
[回复该留言]18. 雪山飞猪 | September 23, 2008 at 11:42 am | #
可以!
[回复该留言]19. 魑魅魍魉 | September 23, 2008 at 9:37 am | #
本人博客甚多,算起来应该会有14到16个,哈哈,全是WP的,不过俺先不管这了,你得先参加俺滴活动再说,过几天试试这个方法去:
哈哈,看了很多位牛牛们的WordCamp评论以及感受,我见到最多的就是每一个博主都在说另一些博主长得很“猥琐”,可是却不知道到底哪个是哪个了,而俺滴好奇心很浓,所以,俺很想看看每一位“猥琐”滴博主到底是怎么个“猥琐”活,所以,组织这一次活动,希望大家都能参与参与,你是牛人,别小看我,你不是牛人,别高举我,我就只是想看看你的“猥琐”样儿而已。
这个活动为了是让我们这些没有参加的也都能互相认识认识参加了的以及其它没有参加的,所以,大家赶紧上自己的单人照哪,我这张是在西塞山拍的。
活动都喜欢点名,因为俺滴博客没啥人看,所以,这里就不点了,我去你们那儿一个一个点。活动地址,请愿意参加的(我很想强行,可是没这个能力)朋友把照片发布地址在这里告诉俺一下下,OK???
http://www.pantao.name/post/2008/09/handsome-boys-and-beautiful-girls-are-using-wordpress.html
[回复该留言]20. 雪山飞猪 | September 23, 2008 at 11:43 am | #
支持,但是我为人低调,就不参加这些活动了。
[回复该留言]21. ray1980 | September 23, 2008 at 10:51 am | #
第一种的话,风格和插件会怎么样?
[回复该留言]22. bssn | September 23, 2008 at 1:17 pm | #
爱死你了,我就等这个!
[回复该留言]23. ray1980 | September 23, 2008 at 9:14 pm | #
绑定域名怎么做?
光只要绑定A记录么?CP后台要怎么做啊?
[回复该留言]24. leojn | September 23, 2008 at 11:12 pm | #
太好了,我刚建了一个新站.明天一定得试试
[回复该留言]25. leojn | September 23, 2008 at 11:17 pm | #
我的留言是不是还得审核啊?
[回复该留言]要是能有不同的themes就更好了.呵呵
26. leojn | September 24, 2008 at 1:58 pm | #
可以实现不同的主题和插件,不过”wp_hive还能够通过 rewriter 实现每个博客都能有自己的 favicon,sitemap.xml 和 robots.txt。”这一点有谁成功的吗,我这里无法实现该效果
[回复该留言]27. 酷林 | September 24, 2008 at 2:15 pm | #
我的主机只允许指定一个域名 就无法实现了吧
[回复该留言]28. xaoma | September 24, 2008 at 2:18 pm | #
好,终于不用愁了,不过这收录什么的影响不?
[回复该留言]29. Vincent | September 25, 2008 at 9:49 am | #
老大,你这个比Hive好用,可以分开数据库的说。
单我用的时候有问题,请再指点一下:
——
[回复该留言]改后无论访问那个都说链接数据库失败。
上面两个db,都用的同一个user,和密码。老大帮忙看看那里出错了,谢!
30. Vincent | September 25, 2008 at 9:53 am | #
?,代码都哪里去了?
<?php
//**Vincent differ db**//
$hostname = $_SERVER['HTTP_HOST'];
switch ($hostname) {
case “biz-plug.com”:
$db = “biz_bizplug”;
break;
case “zz.biz-plug.com”:
$db = “biz_zz”;
break;
}
// ** MySQL settings ** //
[回复该留言]define(’DB_NAME’, ‘$db’); // The name of the database
define(’DB_USER’, ‘user1′); // Your MySQL username
define(’DB_PASSWORD’, ‘user1pass’); // …and password
31. 雪山飞猪 | September 25, 2008 at 12:18 pm | #
要看你的 db user 是否有权限访问的数据库。
[回复该留言]32. Vincent | September 25, 2008 at 10:08 am | #
oh?我的留言呢?飞兄?难道要审核?
[回复该留言]33. Vincent | September 25, 2008 at 1:00 pm | #
有权限的,以前都是好好的。出问题后,改回来也能用,一加代码就有问题了。
[回复该留言]34. Vincent | September 25, 2008 at 1:29 pm | #
数据库连接建立失败 总报这个,我怀疑和$db变量有关,没有传递到define(’DB_NAME’, ‘$db’);这里,所以连不到数据库。
[回复该留言]35. 雪山飞猪 | September 25, 2008 at 1:51 pm | #
认真看了下,原来是 ‘$db’,把 $db 后面的单引号去掉!汗。
[回复该留言]36. Vincent | September 25, 2008 at 2:34 pm | #
cool,搞定了,变量不加引号,感谢:)马上去吧Hive删掉
[回复该留言]37. Vincent | September 25, 2008 at 2:50 pm | #
大侠,再问一个弱智的问题。
[回复该留言]我想建个中文的用户名,怎么说我用户名里有非法字呢?英文的就没关系。
还有admin 帐户不能删除么,我想删掉安全些,但是不让我删。
38. Vincent | September 26, 2008 at 9:59 am | #
已经搞定了,呵呵,显示为那里。而且admin不能删除的说。多谢!
[回复该留言]39. Vincent | September 26, 2008 at 10:51 am | #
如果能够像Hive一样使用不同的 favote。ico就更好了。:)
[回复该留言]40. 沙渺 | November 7, 2008 at 6:27 pm | #
能的,要求Apache主机,通过mod_rewrite可以手动实现。
我正在撰文罗嗦这个内容。稍后还会再回复。
[回复该留言]41. 沙渺 | November 7, 2008 at 9:13 pm | #
写好了!
http://shamiao.com/2008/11/1wp-mulblog-attpts.php
这里提供了实现不同的favicon的方法
[回复该留言]42. 中国加盟网 | September 26, 2008 at 12:57 pm | #
呵呵,太感谢了,学了不少东西
[回复该留言]43. shamiao | September 26, 2008 at 3:27 pm | #
加星,加delicious
[回复该留言]44. rice | September 26, 2008 at 5:38 pm | #
不错,试试去。
[回复该留言]我的博客 http://www.centerday.com
45. HK | October 4, 2008 at 8:28 pm | #
不错,很有用!谢谢!
[回复该留言]46. love~~ | October 7, 2008 at 4:34 pm | #
学习~~学习~~推荐,谢谢!
[回复该留言]47. hiclin003 | October 10, 2008 at 8:15 pm | #
不错的注意,学习一下,不过还是分开用感觉方便些
[回复该留言]48. Xiaofeng | October 16, 2008 at 3:39 pm | #
“把所有的域名都指定到相同的 WordPress 安装目录下”是必须的吗?我的域名1是绑定到根目录的(只能如此),程序安装在wordpress目录;我把域名2绑定到了”根目录\wordpress”,然后按照上面的方法进行了设置。但是域名1没有什么影响,而域名2刷新后是一个空白页面,请教一下是怎么回事
[回复该留言]49. 雪山飞猪 | October 16, 2008 at 3:43 pm | #
必须的!
[回复该留言]50. Xiaofeng | October 16, 2008 at 4:22 pm | #
这是不是意味着我的主域名只能单独的使用wordpress文件夹,而域名2、域名3……等附加域名或子域名可以共享另外一个文件夹?
[回复该留言]51. Xiaofeng | October 16, 2008 at 5:09 pm | #
我第一个blog域名是绑定到根目录的,wp程序在.\public_html\wordpress下面,域名2指定ip后,在cpanel里增加附加域名到.\public_html\wordpress这个目录,
[回复该留言]一开始我是用两个数据库,没有成功,后来我改成一个数据库,不同的数据表,其他的设置不变,就行了。
不知道这个结果和飞猪兄说的“把所有的域名都指定到相同的 WordPress 安装目录下”是否矛盾?也许我理解错了你的意思了。
52. 新西兰房地产 | October 17, 2008 at 4:17 pm | #
谢谢博主分享,不过我觉得WP-Hive这个插件用起来不错,一样的效果
[回复该留言]53. 沙渺 | November 7, 2008 at 9:15 pm | #
写了篇续貂补遗,讲了讲有必要注意的一些小细节。
http://fairyfish.net/2008/09/22/one-wordpress-installation-multiple-blogs/
[回复该留言]54. 沙渺 | November 7, 2008 at 9:15 pm | #
错了错了,补遗的地址在:
[回复该留言]《同一个WordPress程序建设多个博客:续貂补遗 - 沙渺很忙》
http://shamiao.com/2008/11/1wp-mulblog-attpts.php
55. 雪山飞猪 | November 7, 2008 at 9:33 pm | #
下面的 pingback 就是你的。汗下!
[回复该留言]56. 沙渺 | November 8, 2008 at 9:03 am | #
太丢人了。
对了,如果denis不介意,能否请您删去写错的那条评论,感谢您。
[回复该留言]