如何使用多個商店和域設置 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 商店添加和配置多語言