1 мультисервисный мультимагазин Magento 2.2.x не работает - PullRequest
0 голосов
/ 16 января 2019

У меня проблема с настройкой нормально работающего мульти-магазина и мультидомена. Я хочу сделать: - один магазин на 2-3 разных домена с разными макетами (один и тот же ассортимент), - второй магазин в 1 другом домене (с совершенно другим ассортиментом).

Я установил Magento на один домен - domain2.biz, и магазины выглядят так:

ВЕБ-САЙТ / МАГАЗИН / ПРОСМОТР МАГАЗИНА

domain1 domain1.com domain1_view

domain1 domain2.biz domain2_view

domain3 domain3.net domain3_view

Я добавил в файл index.php:

switch($_SERVER['HTTP_HOST']) {

   case 'domain2.biz':
   case 'www.domain2.biz':
      $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'domain1';
      $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
   break;

   case 'domain1.com':
   case 'www.domain1.com':
      $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'domain1';
      $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
   break;

   case 'domain3.net':
   case 'www.domain3.net':
      $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'domain3';
      $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
   break;
}

и файл .htaccess:

SetEnvIf Host www\.domain3\.net MAGE_RUN_CODE=domain3
SetEnvIf Host www\.domain3\.net MAGE_RUN_TYPE=website
SetEnvIf Host ^domain3\.net MAGE_RUN_CODE=domain3
SetEnvIf Host ^domain3\.net MAGE_RUN_TYPE=website

RewriteCond %{HTTP_HOST} .*domain3\.net [NC]
RewriteRule .* - [E=MAGE_RUN_CODE:domain3]
RewriteCond %{HTTP_HOST} .*domain3\.net [NC]
RewriteRule .* - [E=MAGE_RUN_TYPE:website]

SetEnvIf Host www\.domain2\.biz MAGE_RUN_CODE=domain1
SetEnvIf Host www\.domain2\.biz MAGE_RUN_TYPE=website
SetEnvIf Host ^domain2\.biz MAGE_RUN_CODE=domain1
SetEnvIf Host ^domain2\.biz MAGE_RUN_TYPE=website

RewriteCond %{HTTP_HOST} .*domain2\.biz [NC]
RewriteRule .* - [E=MAGE_RUN_CODE:domain1]
RewriteCond %{HTTP_HOST} .*domain2\.biz [NC]
RewriteRule .* - [E=MAGE_RUN_TYPE:website]

SetEnvIf Host www\.domain1\.com MAGE_RUN_CODE=domain1
SetEnvIf Host www\.domain1\.com MAGE_RUN_TYPE=website
SetEnvIf Host ^domain1\.com MAGE_RUN_CODE=domain1
SetEnvIf Host ^domain1\.com MAGE_RUN_TYPE=website

RewriteCond %{HTTP_HOST} .*domain1\.com [NC]
RewriteRule .* - [E=MAGE_RUN_CODE:domain1]
RewriteCond %{HTTP_HOST} .*domain1\.com [NC]
RewriteRule .* - [E=MAGE_RUN_TYPE:website]

К сожалению, единственный рабочий магазин - это тот, на котором установлен домен Magento (domain2.biz). Должен ли я загрузить некоторые файлы для двух других доменов? Дополнительные домены не настроены (у них нет файлов). Какой файл должен быть там и что он должен содержать?

Возможно ли, что он работает ТОЛЬКО с виртуальными хостами?

1 Ответ

0 голосов
/ 21 января 2019

Вы можете установить базовые URL-адреса для каждого представления магазина в консоли администратора в конфигурации / в Интернете, и, поскольку у вас есть два магазина на одном веб-сайте, используйте хранилище MAGE_RUN_TYPE вместо веб-сайта, но вам может не потребоваться изменять файл htaccess (это зависит от в вашей настройке).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...