使用Apache設定多個網站
我們假設:
如有必要,請複製網站或商店檢視的現有index.php
進入點指令碼,並新增下列內容:
-
您正在使用開發機器(筆記型電腦、虛擬機器器等)
在託管環境中部署多個網站可能需要執行其他工作;請洽詢您的託管提供者,以取得詳細資訊。
在雲端基礎結構上設定Adobe Commerce需要其他工作。 完成本主題中討論的工作後,請參閱 雲端基礎結構上的Commerce指南 中的設定多個網站或商店。
-
您對每個網站使用一個虛擬主機;虛擬主機設定檔為
/etc/httpd/httpd.conf
不同作業系統上的不同Apache版本會以不同方式設定虛擬主機。 如果您不確定如何設定虛擬主機,請參閱Apache檔案或網路管理員。
-
已在
/var/www/html/magento2
中安裝Commerce軟體 -
您有預設以外的兩個網站:
- 網站代碼為
french
且商店檢視代碼為fr
的french.mysite.mg
- 網站代碼為
german
且商店檢視代碼為de
的german.mysite.mg
- 網站代碼為
使用Apache設定多個網站的藍圖
設定多個存放區包含下列工作:
- 在Admin中設定網站、商店和商店檢視。
- 為每個Commerce網站建立一個Apache虛擬主機。
步驟1:在「管理員」中建立網站、商店和商店檢視
請參閱在Admin中設定多個網站、商店和商店檢視。
步驟2:建立Apache虛擬主機
本節討論如何在虛擬主機中使用Apache伺服器變數SetEnvIf
設定MAGE_RUN_TYPE
和MAGE_RUN_CODE
的值。
如需SetEnvIf
的詳細資訊,請參閱:
若要建立Apache虛擬主機:
-
以具有
root
許可權的使用者身分,在文字編輯器中開啟虛擬主機設定檔。例如,開啟
/etc/httpd/conf/httpd.conf
-
找到以
<VirtualHost *:80>
開頭的區段。 -
在任何現有虛擬主機之後建立下列虛擬主機:
code language-conf <VirtualHost *:80> ServerName mysite.mg DocumentRoot /var/www/html/magento2/pub/ </VirtualHost> <VirtualHost *:80> ServerName french.mysite.mg DocumentRoot /var/www/html/magento2/pub/ SetEnv MAGE_RUN_CODE "french" SetEnv MAGE_RUN_TYPE "website" </VirtualHost> <VirtualHost *:80> ServerName german.mysite.mg DocumentRoot /var/www/html/magento2/pub/ SetEnv MAGE_RUN_CODE "german" SetEnv MAGE_RUN_TYPE "website" </VirtualHost>
-
將變更儲存至
httpd.conf
並結束文字編輯器。 -
重新啟動Apache:
- CentOS:
service httpd restart
- Ubuntu:
service apache2 restart
- CentOS:
驗證您的網站
除非您已為存放區的URL設定DNS,否則您必須在hosts
檔案中新增靜態路由至主機:
-
找到您的作業系統
hosts
檔案。 -
以格式新增靜態路由:
code language-conf <ip-address> french.mysite.mg <ip-address> german.mysite.mg
-
前往瀏覽器中的下列URL之一:
code language-http http://mysite.mg/admin http://french.mysite.mg/frenchstoreview http://german.mysite.mg/germanstoreview
INFO
- 在託管環境中部署多個網站可能需要執行其他工作;請洽詢您的託管提供者,以取得詳細資訊。
- 在雲端基礎結構上設定Adobe Commerce需要其他工作;請參閱_雲端基礎結構上的Commerce指南_中的設定多個雲端網站或商店。
疑難排解
- 如果您的法文和德文網站傳回404s,但您的管理員載入,請確定您已完成步驟6:將商店程式碼新增至基底URL。
- 如果所有URL都傳回404s,請確定您已重新啟動網頁伺服器。
- 如果管理員無法正常運作,請確定您正確設定虛擬主機。
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c