0

我们有启用多商店的 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->AddStore Code 中启用了Urls=YES

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

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

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

任何建议将不胜感激 !

4

1 回答 1

0

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

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

于 2019-08-07T19:16:12.583 回答