[2009/04/16]发布《Drupal项目实战-公司订餐系统(四)》本博客内容均为原创(Original),如有雷同,纯属巧合。转载请注明出处。同时欢迎学术探讨与批评。

2009年3月2日星期一

使用sites文件夹灵活管理多站点配置

Drupal目录下的sites文件夹是用于存放所有开发者对Drupal自定义的模块脚本以及主题文件的地方。同时,还可以用于存放不同的站点配置文件。在sites目录下,默认有两个子文件夹:all和default。其中,default文件夹用于存放settings.php,即网站配置文件,里面主要包括数据库连接信息。all目录用于存放第三方或自定义模块。

Drupal支持多站点共用一个Drupal程序,意味着我们可以通过在sites目录下创建以网站域名为名称的子文件夹。Drupal就会根据网站域名读取对应的配置。

举一个经常碰到的应用场景:
在发布了网站后,需要维护本地开发用的程序和网站发布程序之间的同步。一般情况下,生产服务器的数据库配置等信息与本地开发环境是不同的。如果只有一个配置文件的话,那么在同步网站程序和本地程序时,就需要手工过滤或更改配置文件。
这时就可以利用Drupal支持多站点配置文件的特性,在其sites目录下创建一个localhost子目录,以及www.example.com的子目录。然后分别将settings.php放置于这两个文件夹,并更改为相应的配置。那么当对本地程序和服务器程序进行同步时,就不需要更改配置文件了。