如何使用多个商店和域设置 Magento 2
已发表: 2021-05-07目录
只需一个 Magento 软件实例,您就可以在同一个 Magento 后端运行多个网站、商店和商店视图。 这反过来又为您的电子商务运营提供了无限的灵活性,但是设置具有多个商店和域的商店的过程可能很难做到正确——我们今天的文章将能够帮助您解决这个问题。
首先,让我们看一下多站点范围的概述,我们将从这里开始处理。

资料来源:Magento
第 1 步:创建网站
多商店范围的顶层是网站。 当您想要创建一个不与默认网站共享购物车信息、运输方式、付款方式等的单独网站时,需要一个新网站。
要创建一个新网站:
- 在您的 Magento 后端,转到Stores > Settings > All Stores 。
 

-  在商店页面上,单击创建网站。 

- 名称:输入名称以识别网站。
 -  代码:输入唯一代码; 例如,如果您有一家法国商店,您可以输入
french - 排序顺序:输入可选的数字排序顺序。
 
 - 单击保存网站。
 - 根据需要多次重复这些任务以创建您的网站。
 
第 2 步:创建商店
由您的网站管理的是商店。 对于多个商店,您可以使用相同的产品目录来展示不同的产品和类别选择。 一个商店可以有多个商店视图。
要创建新商店:
- 在您的 Magento 后端,转到Stores > Settings > All Stores 。
 -  在商店页面上,单击创建商店。 

- 网站:选择与该商店关联的网站。
 - 名称:输入名称以识别商店。
 - 根类别:选择此商店的根类别。在商店页面上,单击创建商店。
 
 - 点击保存商店。
 - 根据需要多次重复这些任务以创建您的商店。
 
第 3 步:创建商店视图
由商店管理的是商店视图——客户可以选择启用不同语言、目录价格和/或不同货币的可选视图。
- 在您的 Magento 后端,转到Stores > Settings > All Stores 。
 -  在商店页面上,单击创建商店视图。 

- 商店:选择与此商店视图相关联的商店。
 - 名称:输入名称以标识此商店视图。
 - 代码:输入一个唯一的名称来标识这个商店视图。
 - 状态:选择启用。
 - 排序顺序:输入可选的数字排序顺序。
 
 - 单击保存商店视图。
 - 根据需要多次重复这些任务以创建您的商店视图。
 

Magento 2 多商店视图定价
$249,00 $299,00
第 4 步:更改网站的基本 URL
- 在您的 Magento 后端,转到商店>设置>配置。 在常规部分下,单击Web 。
 - 从页面顶部的Store View列表中,选择一个网站。
 - 展开基本 URL部分。
 

- 输入此网站的 URL。 例如:https://subdomain.example.com/
 - 单击保存配置。
 - 对其他网站重复这些任务。
 
第 5 步:将商店代码添加到基本 URL
Magento 为您提供了将商店代码添加到站点的基本 URL 的选项,这简化了设置多个商店的过程。 使用此选项,您不必在 Magento 文件系统上创建目录来存储 index.php 和 .htaccess。

这可以防止 index.php 和 .htaccess 在未来的升级中与 Magento 代码库不同步。
- 在您的 Magento 后端,转到商店>设置>配置。 在常规部分下,单击Web 。
 - 从页面顶部的Store View列表中,选择Default Config 。
 - 展开URL 选项部分。
 

- 取消选中Add Store Code to Urls旁边的Use system value框。 然后将其设置为Yes 。
 - 单击保存配置。
 - 如果出现提示,请刷新 Magento 缓存。 (系统>缓存管理)。
 
第 6 步:更改默认商店视图的基本 URL
- 在您的 Magento 后端,转到商店>设置>配置。 在常规部分下,单击Web 。
 - 从页面顶部的Store View列表中,选择Default Config 。
 - 展开基本 URL部分。
 - 输入您网站的基本 URL。 例如:https://www.example.com/
 - 单击保存配置。
 
完成此步骤后,您将无法访问 Magento 管理员。 但别担心,在完成下一步配置虚拟主机后,您的 Magento 管理员将可以访问。
第 7 步:服务器端配置
要为您的 Magento 网站设置多个商店和域,您需要对 Web 服务器配置进行一些更改。 简而言之,您需要:
- 为每个新网站创建一个新的虚拟主机
 - 将
MAGE_RUN_TYPE和MAGE_RUN_CODE的值传递给新配置 - (可选)设置到主机的静态路由
 
为您的新网站创建新虚拟主机的过程可能会因您运行的服务器类型而异。 例如,对于 Apache 2.4 及更高版本,该过程涉及编辑/etc/httpd/conf/httpd.conf ,如下所示: 
<虚拟主机 *:80> 服务器名 mysite.mg DocumentRoot /var/www/html/magento2/pub/ </虚拟主机> <虚拟主机 *:80> 服务器名称 french.mysite.mg DocumentRoot /var/www/html/magento2/pub/ SetEnv MAGE_RUN_CODE "法语" SetEnv MAGE_RUN_TYPE "网站" </虚拟主机> <虚拟主机 *:80> 服务器名称 German.mysite.mg DocumentRoot /var/www/html/magento2/pub/ SetEnv MAGE_RUN_CODE "德语" SetEnv MAGE_RUN_TYPE "网站" </虚拟主机>
-  
ServerName: 是您新网站的新域名 DocumentRoot:提供 Magento 的位置。 出于安全考虑,建议您将DocumentRoot设置为 Magento/pub/目录SetEnv MAGE_RUN_TYPE:设置为网站或商店,取决于ServerName是新网站还是新商店范围SetEnv MAGE_RUN_CODE:设置为与MAGE_RUN_TYPE对应的唯一网站或商店浏览代码
完成配置后,通过执行以下命令重新启动 Web 服务器:
-  CentOS: 
service httpd restart -  Ubuntu: 
service apache2 restart 
(可选)设置到主机的静态路由
如果您没有为商店的 URL 设置 DNS,则需要在 hosts 文件中使用以下格式设置静态路由:
<ip 地址> <新网站>
例如:
192.168.1.15 simicart-store.com 192.168.1.16 french.simicart-store.com 192.168.1.17 German.simicart-store.com
注意:如果您想要单独的结帐过程,请使用不同的 IP 地址设置您的 Magento 域
它已经完成了! 现在转到您为新商店/网站设置的 URL,查看是否一切正常。
相关文章:如何为您的 Magento 商店添加和配置多语言
