Настройка нескольких магазинов, магазинов и доменов на NGINX - PullRequest
0 голосов
/ 16 ноября 2018

Я пытался настроить несколько магазинов и хранить представления с разными доменами на 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.

Подробные случаи:

  1. Оставайтесь на vi.clothes.local, перейдите к computer_en, используя раскрывающийся список в front-end -> перенаправьте на en.computer.local и соответствующее хранилище.

  2. Сделайте случай 1, затем введите en.computer.local в адресной строке -> тот же правильный результат

  3. Введите en.computer.local в адресной строке без ввода регистра 1 или используйте режим инкогнито -> перенаправление на vi.clothes.local и хранилище по умолчанию.

Почему это происходит и как достичь моей цели? Любая помощь приветствуется, пожалуйста!

...