Drupal7 配置多站点及为每个站点设置语言
默认情况
在Drupal7的安装目录下存在sites目录
sites目录结构如下:
--all
--default
--example.sites.php
--README.txt
1. 添加新域名,如添加www.a.com域名
则应该修改为
--www.a.com
--all
--default
--example.sites.php
--README.txt
即新建www.a.com目录
然后拷贝default下的settings.php到www.a.com。注意settings文件保存有数据库访问信息,变量信息(站点名,站点主题,cookie等基本初始化配置信息)。
对文件a.com/settings.php做些必要的修改
// 修改数据库访问信息,实现不同域名访问不同的数据库 $databases = array ( 'default' => array ( 'default' => array ( 'database' => 'drupal_740', 'username' => 'root', 'password' => '', 'host' => 'localhost', 'port' => '', 'driver' => 'mysql', 'prefix' => '', ), ), );
2. 多站点为每个站点设置默认语言
如果该网站是多语言的,打开某个域名需要访问指定的语言,可以在settings文件追加
$conf['language_default'] = (object) array('language' => 'en', 'name' => 'English', 'native' => 'English', 'direction' => 0, 'enabled' => 1, 'plurals' => 0, 'formula' => '', 'domain' => '', 'prefix' => '', 'weight' => 0, 'javascript' => '');
关于$conf,是一个维护网站变量大的数组。有些变量能在数据库的variable表中找到。
3. 只针对某个站点添加主题或模块
上面的all目录下有libraries,modules和themes目录。all就是公共的,多站点中每个站点都能看到这些模块和主题。如果要实现仅www.a.com需要某个主题或模块。
可以在www.a.com下我们再新建libraries,modules和themes目录。推荐modules目录下建立contrib和custom目录,分别存放下载到的模块和自己写的模块。
最后建议大家仔细阅读相关目录下的README.txt和settings文件中的注释说明。能收获很多。