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文件中的注释说明。能收获很多。

原文地址:https://www.cnblogs.com/mafeifan/p/5001848.html