Một tùy chọn khác là sử dụng cấu hình auto_prepend của PHP . Điều này sẽ khiến tất cả các tập lệnh được xử lý bởi PHP chạy tập lệnh trước khi tập lệnh được yêu cầu thực tế chạy, nhưng sau .htaccess (nếu bạn đang sử dụng tập lệnh đó).
Cách tiếp cận này kết hợp với một số đề xuất khác (ví dụ: sử dụng MaxMind cho dữ liệu vị trí địa lý và chế độ xem cửa hàng cho các vùng cụ thể) có thể dẫn đến một cách tiếp cận khá rõ ràng.
Nếu bạn đang chạy phiên bản Magento> = 1.4, mã cửa hàng mặc định có thể được định cấu hình bằng cách đặt giá trị $ _SERVER ['MAGE_RUN_CODE'].
Trong tệp .htaccess hoặc cấu hình của apache, hãy thêm vào như sau:
php_value auto_prepend_file /var/www/mystore/path/to/script.php
Trong script.php
thực hiện của bạn bất kỳ logic kinh doanh cần thiết và đặt mã cửa hàng thích hợp:
<?php
if (get_ip_location($_SERVER['REMOTE_ADDR']) == 'uk') {
$_SERVER['MAGE_RUN_CODE'] = 'store_code_uk';
} else {
$_SERVER['MAGE_RUN_CODE'] = 'store_code_us';
}
Một điều cần lưu ý là điều này sẽ áp dụng cho tất cả các tệp PHP được yêu cầu, vì vậy bạn sẽ cần ghi nhớ điều đó.