Привет! Есть один интернет-магазин на CMS Magento 2 на домене например domen.eu.
У этого магазина есть версии магазина на английском, русском и литовском языках. Соответственно domen.eu/en/ domen.eu/ru/ domen.eu/lt/
Купили еще домены domen.ru domen.lt
Вопрос: как сделать, чтобы версии магазина на каждом языке отображались на разных доменах? То есть при включении литовского языва на сайте включалась версия магазина на домене domen.lt а при включении версии магазина на русском языке включалась версия магазина на домене domen.ru
Благодарю!
Подозреваю что должно работать решение для версии 1.9. См. так же http://devdocs.magento.com/guides/v2.0/config-guide/multi-site/ms_over.html
А какое решение работает для версии 1.9?
Здесь есть
https://magento.stackexchange.com/questions/32439/magento-1-9-multiple-websites-on-different-domains
Создаете несколько доменов так, чтобы все они были связаны с одной корневой директорией. А далее в index.php перехватываете доменное имя и задает под соответствующее имя код магазина.
Вопрос. Мне в админке Magento создавать 3-ри разных магазина или 3-ри разных сайта?
Вот совсем пошаговая инструкция https://habrahabr.ru/post/91611/
Разобрался. Сделал. Работает.
Пишу инструкцию, как это сделал на реальных доменах.
=============
У нас есть 3-ри домена. Мы хотим сделать, чтобы был магазин на 3 разных доменах и для каждого языка.
Английский язык watch-store.eu
Русский язык watch-store.ru
Литовский язык watch-store.lt
Добавляем домены на хостинг. Устанавливаем SLL-сертификаты на каждый домен.
Направляем домены на основную директорию сайта.
Создаем 3-ри представления магазина на английском языке, литовском и русском.
Сайт используем один. Три сайта не делаем.
Авто-перенаправление на базовый URL ставим в Нет.
Настройку делаем для конфигурации по умолчанию.
Мы определили, что наш основной язык английский, а русский и литовский нет.
Важно указать основной английский язык сайта (чтобы потом можно было войти в админку сайта).
Для литовского языка указываем литовский домен watch-store.lt (который мы ранее купили).
Для русского языка указываем русский домен watch-store.ru (который мы ранее купили).
В админке мы не создаем новые сайты, мы создаем новые представления сайтов. Магазин у нас остается один в админке.
Код магазина на литовском: lt
Код магазина на русском: ru
В файле .htaccess пишем:
SetEnv MAGE_RUN_TYPE store SetEnvIf Host watch-store.lt MAGE_RUN_CODE=lt SetEnvIf Host watch-store.ru MAGE_RUN_CODE=ru
Если используется MAGE_RUN_TYPE = 'website', MAGE_RUN_CODE должен быть кодом веб-сайта, а хранилище по умолчанию для этого сайта будет загружено в интерфейс.
Если используется MAGE_RUN_TYPE = 'store', MAGE_RUN_CODE должен быть кодом любого вида магазина и этот конкретный магазин будет загружен во внешний интерфейс.
Значение MAGE_RUN_TYPE определяет, следует ли считать MAGE_RUN_CODE кодом веб-сайта или магазина.
lt и ru это коды наших представлений магазинов
store говорит о том, что мы используем коды для наших представлений магазинов, а не для сайтов.
===============================
После этого заходим на сайт через SSH, обновляем кэшь и индексы:
php bin/magento cache:clean php bin/magento indexer:reindex php bin/magento cache:clean php bin/magento cache:flush
===============================
Наслаждаемся 3-мя сайтами на разных доменах на одной админке.)
Привет! Подскажите, как настроить сайты в разных каталогах.
Создал символические ссылки в корне папки нового домена с помощью SSH
ln -s /home/i/igoris9k/watch-store.eu/public_html/app/ app ln -s /home/i/igoris9k/watch-store.eu/public_html/lib/ lib ln -s /home/i/igoris9k/watch-store.eu/public_html/pub/ pub ln -s /home/i/igoris9k/watch-store.eu/public_html/var/ var
Скопировал файлы .htaccess и index.php из Magento в корневой каталог нового домена.
Открыл скопированный файл index.php и отредактировал последние строки файла следующим образом:
Заменил следующий код:
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER); /** @var \Magento\Framework\App\Http $app */ $app = bootstrap->createApplication(‘Magento\Framework\App\Http’); $bootstrap->run($app);
этим:
require DIR . ‘/app/bootstrap.php’; $params = $_SERVER; $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = ’ [StoreCode]’; $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = ‘website’; $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params); /** @var \Magento\Framework\App\Http $app */ $app = $bootstrap->createApplication(‘Magento\Framework\App\Http’); $bootstrap->run($app);
Но это не помогает.
Такая же проблема с использованием двух и более разных доменов, не одно решение описное в интернете не помогает. Выше описанные варианты тоже не могли, уже перечитал все инструкции, которые только удалось найти в интернете.
Пробовал даже редактировать конфигурацию сервера Apache:
<VirtualHost *:80> ServerName site.ru DocumentRoot "/var/www/user/data/www/site.ru" SetEnv MAGE_RUN_CODE "site.ru" SetEnv MAGE_RUN_TYPE "website" </VirtualHost> <VirtualHost *:80> ServerName site.com DocumentRoot "/var/www/user/data/www/site.ru" SetEnv MAGE_RUN_CODE "site.com" SetEnv MAGE_RUN_TYPE "website" </VirtualHost>
Но и это не могло, на site.com в данном случае только показывает код страницы index.php и больше ничего. Это единственный результат, который хоть что-то дал. Другие способы вообще ни как не работают. Что я делаю не так? Поделитесь...
Есть где нибудь подробная инструкция, как сделать два разных магазина, на двух разных доменах с одной установкой magento 2.3.х?