Multi-site trong Drupal

 

 

Mô hình multi-site trong Drupal

 

 

Cơ sở dữ liệu

 

  • db_website1: sử dụng cho website1.com
  • db_websiten: sử dụng cho websiten.com
  • db_share: cơ sở dữ liệu dùng chung

Kết nối cơ sở dữ liệu

 

Trong file settings.php của website1.com

 

<?php
$db_url
= 'mysql://username:<a href="mailto:password@localhost">password@localhost</a>/db_website1';
$db_prefix = array(
 
'default'     => 'w1_',
 
'users'       => 'db_share.',
 
'users_roles' => 'db_share.',
 
'sessions'    => 'db_share.',
 
'role'        => 'db_share.',
 
'authmap'     => 'db_share.',
);
?>

Trong file settings.php của websiten.com

<?php
$db_url
= 'mysql://username:<a href="mailto:password@localhost">password@localhost</a>/db_websiten';
$db_prefix = array(
 
'default'     => 'wn_',
 
'users'       => 'db_share.',
 
'users_roles' => 'db_share.',
 
'sessions'    => 'db_share.',
 
'role'        => 'db_share.',
 
'authmap'     => 'db_share.',
);
?>

 

Độ ưu tiên trong multi-site

 

Ví dụ với một site có đường dẫn như sau: http://www.drupal.org/mysite/test/ thì độ ưu tiên trong thư mục sites sẽ là:

 

1. sites/www.drupal.org.mysite.test
2
. sites/drupal.org.mysite.test
3. sites/org.mysite.test

4. sites/www.drupal.org.mysite
5
. sites/drupal.org.mysite
6. sites/org.mysite

7. sites/www.drupal.org
8
. sites/drupal.org
9. sites/org

10. sites/default

Độ ưu tiên được sắp xếp từ 1 -> 10, nghĩa là khi truy cập vào đường dẫn http://www.drupal.org/mysite/test/ thì hệ thống Drupal sẽ tìm file thông tin cấu hình của site đó theo ưu tiên từ 1 là thư mục sites/www.drupal.org.mysite.test nếu không có thì bỏ qua và tiếp tới các thư mục ưu tiên khác. Nếu có dừng lại đọc thông tin cấu hình trong thư mục đó.

trích từ http://nguyentiensi.com/multi-site-trong-drupal