【问题标题】:Nginx multi store as /ptNginx 多存储为 /pt
【发布时间】:2019-12-08 02:17:27
【问题描述】:

我们有启用多商店的 magento2 网络商店。 示例:

  • /domain.com - 总店(西班牙语)
  • domain.com/pt - 葡萄牙网上商店

我们用映射做了 nginx vhost:

map $request_uri $MAGE_RUN_CODE {
  domain.com website;
  /pt pt;
}

然后我们在 magento2 nginx 示例配置中添加变量:

....
fastcgi_param  MAGE_RUN_TYPE website;
fastcgi_param  MAGE_RUN_CODE $MAGE_RUN_CODE;
....

我们还启用了 magento2 后端 GENERAL->WEB->Add Store Code to Urls=YES

一切正常,但该选项(将商店代码添加到网址)使用语言代码 (es) 重写主商店 URL。

例如,主要(西班牙)商店的网址现在类似于 domain.com/es/product1.html。

我们正在寻找解决方法,以仅从主网站中删除 'es' URI 存储代码。

任何建议将不胜感激!

【问题讨论】:

    标签: nginx magento2 multistore


    【解决方案1】:

    您需要创建 pt 子目录,然后执行这些操作,除非有任何 nginx 差异。它应该是相似的。

    如果这是 apache,您可以将 index.php 和 .htaccess(或您需要的任何 nginx 等效项)复制到子文件夹中。然后使用 $_SERVER['HTTP_HOST'] 上的开关更改您的 index.php,case 语句在您的域中。在这种情况下,语句设置运行代码和运行类型。然后,当在 create() 中创建 $bootstrap 时,参数是 BP 和您的 $params 数组,其中包含运行代码和运行类型。在同一个文件中有你的 require 语句的地方,在开头添加一个 .. 以在查找文件时进入一个目录。然后将该特定商店的基本链接 url 和安全基本链接 url 更改为您的 pt 商店的链接,同时保持基本 url 等与您的主要商店相同。我希望这对你有足够的意义。有完整的 php 代码。所有你需要的开关,对 $bootstrap 的更改和要求行。我提到的基本链接 url 更改解决了在 pub 中任何乱七八糟的需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 2022-01-27
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 2015-01-02
      相关资源
      最近更新 更多