thiết bị với các URL khác nhau Magento Multistore / Tên miền (Magento 1 và Magento 2)

hình ảnhLàm thế nào để thiết lập Magento 1.7 một, vì vậy bạn có URL khác nhau hoặc. Tên miền cửa hàng khác nhau / các cửa hàng hoặc. trang web có thể đạt được?

Trước đây, đây là index.php đạt. Bây giờ điều này có thể được trực tiếp trên .htaccess thể đạt được.

hình ảnhTrong bước đầu tiên bạn nhận ra Codes sự khác nhau trang web. sau đó .htaccess được mở ra và sau đó tất cả các con đường xuống sau thêm cho mỗi trang web:

SetEnvIf Host www\.Domain1\.de MAGE_RUN_CODE=base
SetEnvIf Host www\.Domain1\.de MAGE_RUN_TYPE=website
SetEnvIf Host ^Domain1\.de MAGE_RUN_CODE=base
SetEnvIf Host ^Domain1\.de MAGE_RUN_TYPE=website

dòng 1 và 2 là những “khi nào – sau đó” một. dòng 3 và 4 có sẵn trong trường hợp tên miền được nhập không có www.
Phẩm giá cho Domain 2 Mã trang web với tên miền 2 của anh ấy, Sau đó, đến chưa

SetEnvIf Host www\.Domain2\.de MAGE_RUN_CODE=domain2
SetEnvIf Host www\.Domain2\.de MAGE_RUN_TYPE=website
SetEnvIf Host ^Domain2\.de MAGE_RUN_CODE=domain2
SetEnvIf Host ^Domain2\.de MAGE_RUN_TYPE=website

Nếu nhiều URL để trỏ đến một và cùng một trang web, điều này cũng có thể được thêm ví dụ.

SetEnvIf Host www\.Domain2\.de MAGE_RUN_CODE=domain2
SetEnvIf Host www\.Domain2\.de MAGE_RUN_TYPE=website
SetEnvIf Host ^Domain2\.de MAGE_RUN_CODE=domain2
SetEnvIf Host ^Domain2\.de MAGE_RUN_TYPE=website
SetEnvIf Host www\.Domain3\.de MAGE_RUN_CODE=domain2
SetEnvIf Host www\.Domain3\.de MAGE_RUN_TYPE=website
SetEnvIf Host ^Domain3\.de MAGE_RUN_CODE=domain2
SetEnvIf Host ^Domain3\.de MAGE_RUN_TYPE=website

Nếu chỉ có một cửa hàng được giải quyết, thấy mã chèn như thế này:

SetEnvIf Host www\.Domain2\.de MAGE_RUN_CODE=domain2
SetEnvIf Host www\.Domain2\.de MAGE_RUN_TYPE=store
SetEnvIf Host ^Domain2\.de MAGE_RUN_CODE=domain2
SetEnvIf Host ^Domain2\.de MAGE_RUN_TYPE=store

Trong trường hợp của một lần xem cửa hàng sau đó như vậy

SetEnvIf Host www\.Domain2\.de MAGE_RUN_CODE=domain2
SetEnvIf Host ^Domain2\.de MAGE_RUN_CODE=domain2

Trong một số trường hợp (cấu hình máy chủ nhất định) nó có thể là, rằng điều này là không đủ một mình. Ở đây người ta có được trong index.php làm cho một sự thay đổi nhỏ. Ở đây sau đó là mã

/* Store hoặc code website */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

/* Chạy cửa hàng hoặc trang web chạy */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'cửa hàng';

pháp sư::chạy($mageRunCode, $mageRunType);

trong

/* Store hoặc code website */
$mageRunCode = isset($_SERVER['REDIRECT_MAGE_RUN_CODE']) ? $_SERVER['REDIRECT_MAGE_RUN_CODE'] : '';

/* Chạy cửa hàng hoặc trang web chạy */
$mageRunType = isset($_SERVER['REDIRECT_MAGE_RUN_TYPE']) ? $_SERVER['REDIRECT_MAGE_RUN_TYPE'] : 'cửa hàng';

pháp sư::chạy($mageRunCode, $mageRunType);

thay đổi. Có một chuyển hướng sau đó được kích hoạt tại các máy chủ.

Các bài viết với thông tin về việc trao đổi của cửa hàng, trang web vv. có trong điều này và trong điều này lối vào.

CẬP NHẬT từ 06.09.2019

Sau khi cập nhật máy chủ trên Ubuntu 18.04 làm việc các nắn tại mỗi địa điểm không còn nữa và nó đã trở thành tiêu chuẩn- / trang web chính đạo. Đó là không còn có thể đạt được các cửa hàng mong muốn các URL.

Để sửa lỗi này, nó là cần thiết để o.g. để thực hiện thay đổi trong index.php đảo ngược và một lần nữa mã gốc

/* Store hoặc code website */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

/* Chạy cửa hàng hoặc trang web chạy */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'cửa hàng';

pháp sư::chạy($mageRunCode, $mageRunType);

sử dụng.

Được sử dụng trong các phiên bản Magento 1.7-1.9 câu hỏi, bình luận, gợi ý? Sẵn sàng trực tiếp hoặc là một lời nhận xét.

Magento 2.x này được thực hiện tương tự.

Về cơ bản, nó sẽ là khá đủ để làm chỉ mục trong .htaccess (như mô tả ở trên). Nếu đây là không đủ, cũng có thể được thực hiện với index.php (bây giờ trong thư mục /pub/) được làm việc. Đối với tôi nó làm việc trong hầu hết các trường hợp với việc điều chỉnh .htaccess.

Nếu không, bạn mặc vào dòng index.php sau (tại lối ra })

$params = $ _SERVER;
nếu( in_array($params["HTTP_HOST"], mảng("www.meinewunschdomain.de","meinewunschdomain.de")) ){
	$params[\Magento  Store  mẫu  StoreManager::PARAM_RUN_CODE] = 'Codedesstoreviews';
	$params[\Magento  Store  mẫu  StoreManager::PARAM_RUN_TYPE] = 'Cửa hàng';
}khác{
	$params[\Magento  Store  mẫu  StoreManager::PARAM_RUN_CODE] = 'Codedesstandardstoreviews';
	$params[\Magento  Store  mẫu  StoreManager::PARAM_RUN_TYPE] = 'Cửa hàng';
}

“codedesstoreviews” đây là StoreView đặc biệt, khác với mặc định. bạn có URL cơ sở như bình thường ví dụ. luôn luôn là một miền .com và chỉ muốn sử dụng cho các cửa hàng Đức xem các tên miền .com, điều này sẽ ví dụ. Sun có thể trông giống như trên.

cập nhật từ 05.05.2021

Đã ở Magento 2.2 vẫn làm việc, không hoạt động nữa trong phiên bản tiếp theo. Đoạn mã sau đã được thông báo ở đây:


$params = $_SERVER;

switch($_SERVER['HTTP_HOST']) {

        case 'meinewunschdomain.de':
        #case 'www.meinewunschdomain.de':
             $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'codedesstoreviews';
                         $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'store';
        break;


        case 'meinewunschdomain2.de':
        #case 'www.meinewunschdomain2.de':
             $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'codedesstandardstoreviews';
                         $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'store';
        break;
    }

(Nhân tiện, nó có thể được sử dụng đơn giản thay vì “cửa hàng” từ “trang mạng” được sử dụng, nếu bạn muốn sử dụng mã của trang web tương ứng hoặc. muốn truy cập trang web.

cập nhật từ 12.08.2021

Thật không may, mã này đã hoạt động trên Magento 2.4.2 một lần nữa nó không hoạt động nữa và điều đó đã xảy ra - như với Magento 1- .htaccess hoạt động trở lại. Khi đó không cần thiết phải điều chỉnh tệp index.php nữa. thừa thãi.

SetEnvIf Host ^(.*)meinewunschdomain.de MAGE_RUN_CODE=codewebsite
SetEnvIf Host ^(.*)meinewunschdomain.de MAGE_RUN_TYPE=website

Trong trường hợp này tôi đã sử dụng mã từ một trang web, bởi vì đó chính xác là những gì tôi cần. Nếu thay vì những điều trên, bạn. Tên miền muốn sử dụng tên miền phụ, chỉ cần thay thế ^ bằng tên miền phụ tương ứng.

Được sử dụng trong nhiều phiên bản Magento. câu hỏi, bình luận, gợi ý? Sẵn sàng trực tiếp hoặc là một lời nhận xét.

Xuất bản bởi sợi Dệt

từ 2009 Tôi đã làm việc chặt chẽ với Magento. Tôi bắt đầu với việc tạo ra và hoạt động của các cửa hàng B2C. Điều này đã được mở rộng thông qua công việc của tôi trong lĩnh vực logistics. Điều này dẫn đến hệ thống B2E đầu tiên chuyên. Hôm nay tôi làm việc ngày một ngày với B2C thú vị, B2B- và các dự án B2E và báo cáo trong blog này về những thách thức và đưa ra lời khuyên trong cuộc.

Một nhận xét về “thiết bị với các URL khác nhau Magento Multistore / Tên miền (Magento 1 và Magento 2)”

Để lại một trả lời

Địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *