多站点支持

drupal的多站点支持

Drupal提供了一套非常有用的多站点支持方案,所谓多站点支持,就是使用一个drupal,一个空间,建立理论上无穷多的网站。举个最简单的例子,一般的空间,只允许有限个的域名指向(pointing),譬如我使用的site5的服务,可以有5个域名指向我的空间;但是却允许无数个域名停靠(parking)。这些”停靠“的域名类似一个自动的跳转,当你输入这个域名(譬如,www.ourblogs.org ),它就会自动转接到它做”停靠“的空间(譬如 www.kzeng.info),而不能拥有自己的子目录。但是drupal的多站点支持使得停靠的域名也和真正的域名一样,有完备的自己的子目录,一个范例就是我这里的 http://www.ourblogs.org 它停靠在 http://www.kzeng.info 上,但是如果你从 ourlogs.org 进入我的blog,页面所有的链接都是形如 http://www.ourblogs.org/node/... 的,图片的链接也是自动转换的,十分方便,特别适合像俺这样被封掉了域名的blogger使用:)下面就简要的介绍一下如何使用drupal的多站点支持。

还是以我这里为例,我的主域名是 http://www.kzeng.info ,我想使得用户通过 http://www.ourblogs.org 也可以正常访问我的blog的所有内容。首先,把 http://www.ourblogs.org ”停靠“(park)在主域名空间上。然后在 drupal的安装目录下找到 sites 文件夹,打开,里面有一个default文件夹,是你站点的默认设置。在sites 目录下新建一个叫做www.ourblogs.org的文件夹,将default目录中的setting.php拷贝入这个www.ourblogs.org文件夹,然后用文本编辑器打开这个文件,把 $base_url 改为 http://www.ourblogs.org 即可。这样就使解决了使用一个drupal从不同域名访问的问题。

当然这只是一个最简单的例子,下面说说另外的例子。譬如我想让 www.kzeng.infowww.ourblogs.org 成为两个完全不同的站点,这个实现也很方便,在www.ourblogs.org文件夹下,除了将setting.php的base url改为 http://www.ourblogs.org 外,把数据库链接改为一个新的数据就可以了。

如果你想让两个完全不同的drupal共用一个数据库,记得在setting.php中对于两个drupal的数据库加上不同的前缀(prefix)即可。

这样的多站点支持不限于不同的域名,你也可以用IP地址和域名,以及不同子域名共享同一个drupal的code,建立相同的或是不同的drupal网站:)

Free Tags: 
Blog分类: