返回列表 发帖

一套代码多个站点

作者:holz  2006-05-20   来源:DRUPAL CHINA

一直不敢随便尝试多站点安装,所以总在学习和犹豫,想到心里有点底了就尝试一下。

今天有看了看 Drupal 的安装文档,发现他里面讲的好简单,我想是之前自己忽略过去了,稍微整理一下,准备下周试验。

文档里说,一个单独的 Drupal 安装是可以支撑若干站点的,而每个站点有自己独立的配置

在多站点配置中,一切发生在 'sites' 这个目录,其下每个子目录都必需包含一个 'settings.php' 文件以指定配置选项。
当然最简单的方法是复制 'default' 目录,然后相应修改其中的 'settings.php' 文件。

新的目录命名方式源自站点 URL, www.example.com 的配置就是在 'sites/example.com/settings.php' (不过如果用户可以直接通过 http://example.com 访问的话,那么 'www.' 可以省略)。

各站点也没有必要都拥有不同的域名,我们还可以使用子域名、子目录等方式建立不同的站点。
举个例子来说, example.com、 sub.example.com 以及 sub.example.com/site3 都可以是完全独立的 Drupal 站点,这样他们的配置看起来可以是这样的:

     sites/default/settings.php
     sites/example.com/settings.php
     sites/sub.example.com/settings.php
     sites/sub.example.com.site3/settings.php

当用户访问时,Drupal 会搜索相应的站点配置 (假设用户访问 www.sub.example.com/site3), Drupal 搜索配置的顺序如下,如果同时搜到多个相同的配置,使用最先找到的那一个:

     sites/www.sub.example.com.site3/settings.php
     sites/sub.example.com.site3/settings.php
     sites/example.com.site3/settings.php
     sites/www.sub.example.com/settings.php
     sites/sub.example.com/settings.php
     sites/example.com/settings.php
     sites/default/settings.php

如果使用非标准端口(80),则端口被认为是最后一级的子域名,举个例子, http://www.example.com:8080/ 的配置可以放在 sites/8080.www.example.com/ 目录下。

更为重要的是,每个站点都可以拥有特定的模块和主题,这是每个站点彰显独立的根本。

要为多站点中的某个站点安装特定的模块或者主题,只要在其站点配置目录下建立 'modules' 或 'themes' 目录,然后将相应的模块或主题安装这些目录下即可。
举个例子,假设 sub.example.com 有定制的主题和定制的模块,而这些定制的主题和模块是不允许其他站点访问的,那么安装情况看起来如下:

sites
|-sub.example.com
   |-settings.php
   |-themes
   |  |-custom_theme
   |- modules
       |-custom_module

当然我还要解决一个问题,数据库的问题,如何安排数据库?如果在一个空间里面建若干个站,如何规划数据库(因为空间商只给了一个数据库给我),如何使得这些站使用统一的用户数据(既然是一个站的若干子站,不能要用户分别注册啊)~~~

看来还得继续学习
联盟总站--金佳吉国际网站联盟
www.jinjj.org

有兴趣,一边关注,一边抽空试验。
最主要的是:它免费开源。

TOP

返回列表
1
  版权声明:1 本社区原创的文章(除特别说明外),欢迎全球共享,转载请注明作者和引用地址的链接。 2 本社区转载的文章,仅为提供更多的信息,不代表同意其说法,不构成投资建议。 3 本社区转载的文章,如有侵权或违规,请及时通知我们(jzw168#gmail.com ,将#改成@),我们立即删除。 4 本社区会员个人发表的文章,不代表社区观点。