在NGINX上设置多个商店,商店视图和域

时间:2018-11-16 05:00:16

标签: nginx magento2 magento2.2

我试图在NGINX上设置多个商店并存储具有不同域的视图。

这是我网站的结构(很抱歉,我真的不知道如何使用列表):

  • 主要网站(只有一个)
    • 衣服(商店)
      • clothes_vi(商店视图,所需的域:vi.clothes.local)
      • clothes_en(商店视图,所需的域:e.clothes.local)
    • 计算机(存储)
      • computer_vi(商店视图,所需的域:vi.computer.local)
      • computer_en(商店视图,所需的域:en.computer.local)

为实现上述每个商店视图的理想领域,我配置了:

/ etc / nginx / sites-available:

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->重定向到en.computer.local和相应的商店。

  2. 执行情况1,然后在地址栏上键入en.computer.local->相同的正确结果

  3. 在地址栏上输入en.computer.local,而不进行情况1,或使用隐身模式mod->重定向到vi.clothes.local和默认存储。

为什么会发生这种情况以及如何实现我的目标?请提供任何帮助!

0 个答案:

没有答案