Câu trả lời tuyệt vời slarek. Chúng tôi đã làm một cái gì đó rất giống nhau. Thay vì chỉnh sửa index.php, chúng tôi thiết lập các thư mục riêng biệt bên ngoài cơ sở mã của magento và bao gồm mage.php từ các thư mục đó, sau đó chỉnh sửa etc_dir (và các thư mục khác) như trong phương pháp của bạn ở trên.
cấu trúc thư mục:
/ www / client1
/ www / client2
/ www / client3
/ www / clientX
/ www / magento
Bên trong mỗi thư mục máy khách là:
- /www/clientx/etc/local.xml (với cơ sở dữ liệu duy nhất được xác định và db redis duy nhất)
- / www / clientx / etc / mô-đun (đây là liên kết sym đến / www / magento / app / etc / mô-đun)
- /www/clientx/index.php
trong /www/clientx/index.php
define('MAGENTO_ROOT', '/www/magento');
... (Phần còn lại của index.php là công việc như bình thường) ...
$client = isset($_SERVER['CLIENT_ID']) ? $_SERVER['CLIENT_ID'] : '';]
Mage::run($mageRunCode, $mageRunType, array('etc_dir'=>'../'.$client));
Chúng tôi thiết lập
$_SERVER['CLIENT_ID'] in Nginx with
`fastcgi_param CLIENT_ID clientx; `