Я пытался настроить несколько магазинов и хранить представления с разными доменами на NGINX.
Вот структура моего сайта (извините, я действительно не знаю, как пользоваться списком):
- Главный сайт (только один)
- clothes_vi (вид магазина, нужный домен: vi.clothes.local)
- clothes_en (вид магазина, нужный домен: e.clothes.local)
- computer_vi (представление магазина, нужный домен: vi.computer.local)
- computer_en (просмотр магазина, нужный домен: en.computer.local)
Для достижения желаемого домена выше для каждого представления магазина я настроил:
/ и т.д. / Nginx / сайты-доступные:
upstream fastcgi_backend {
server unix:/run/php/php7.1-fpm.sock;
}
map $http_host $MAGE_RUN_CODE {
en.computer.local computer_en;
vi.computer.local computer_vi;
en.clothes.local clothes_en;
vi.clothes.local clothes_vi;
}
server {
listen 80;
server_name en.computer.local vi.computer.local en.clothes.local vi.clothes.local;
set $MAGE_ROOT <project_dir>;
include <project_dir>/nginx.conf;
}
project_dir / nginx.conf:
Добавить:
fastcgi_param MAGE_RUN_TYPE store;
fastcgi_param MAGE_RUN_CODE $MAGE_RUN_CODE;
Ниже:
fastcgi_param PHP_FLAG "session.auto_start=off \n suhosin.session.cryptua=off";
fastcgi_param PHP_VALUE "memory_limit=756M \n max_execution_time=600";
fastcgi_read_timeout 600s;
fastcgi_connect_timeout 600s;
И установите указанный выше домен для каждого вида магазина в конфигурации магазина.
В приведенной выше конфигурации, когда я захожу во внешний интерфейс и получаю доступ к каждому представлению магазина, используя раскрывающийся список, отображаемый там, с моими настроенными доменами. Однако, если я сам наберу URL-адрес перед использованием раскрывающегося списка, он перенаправит меня на URL-адрес представления магазина по умолчанию, который называется vi.clothes.local.
Подробные случаи:
Оставайтесь на vi.clothes.local, перейдите к computer_en, используя раскрывающийся список в front-end -> перенаправьте на en.computer.local и соответствующее хранилище.
Сделайте случай 1, затем введите en.computer.local в адресной строке -> тот же правильный результат
Введите en.computer.local в адресной строке без ввода регистра 1 или используйте режим инкогнито -> перенаправление на vi.clothes.local и хранилище по умолчанию.
Почему это происходит и как достичь моей цели? Любая помощь приветствуется, пожалуйста!