使用Apache設定多個網站

我們假設:

如有必要,請複製網站或商店檢視的現有index.php進入點指令碼,並新增下列內容:

  • 您正在使用開發機器(筆記型電腦、虛擬機器器等)

    在託管環境中部署多個網站可能需要執行其他工作;請洽詢您的託管提供者,以取得詳細資訊。

    在雲端基礎結構上設定Adobe Commerce需要其他工作。 完成本主題中討論的工作後,請參閱​ 雲端基礎結構上的Commerce指南 ​中的設定多個網站或商店

  • 您對每個網站使用一個虛擬主機;虛擬主機設定檔為/etc/httpd/httpd.conf

    不同作業系統上的不同Apache版本會以不同方式設定虛擬主機。 如果您不確定如何設定虛擬主機,請參閱Apache檔案或網路管理員。

  • 已在/var/www/html/magento2中安裝Commerce軟體

  • 您有預設以外的兩個網站:

    • 網站代碼為french且商店檢視代碼為frfrench.mysite.mg
    • 網站代碼為german且商店檢視代碼為degerman.mysite.mg

使用Apache設定多個網站的藍圖

設定多個存放區包含下列工作:

  1. 在Admin中設定網站、商店和商店檢視
  2. 為每個Commerce網站建立一個Apache虛擬主機

步驟1:在「管理員」中建立網站、商店和商店檢視

請參閱在Admin中設定多個網站、商店和商店檢視。

步驟2:建立Apache虛擬主機

本節討論如何在虛擬主機中使用Apache伺服器變數SetEnvIf設定MAGE_RUN_TYPEMAGE_RUN_CODE的值。

如需SetEnvIf的詳細資訊,請參閱:

若要建立Apache虛擬主機

  1. 以具有root許可權的使用者身分,在文字編輯器中開啟虛擬主機設定檔。

    例如,開啟/etc/httpd/conf/httpd.conf

  2. 找到以<VirtualHost *:80>開頭的區段。

  3. 在任何現有虛擬主機之後建立下列虛擬主機:

    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>
    
  4. 將變更儲存至httpd.conf並結束文字編輯器。

  5. 重新啟動Apache:

    • CentOS: service httpd restart
    • Ubuntu: service apache2 restart

驗證您的網站

除非您已為存放區的URL設定DNS,否則您必須在hosts檔案中新增靜態路由至主機:

  1. 找到您的作業系統hosts檔案。

  2. 以格式新增靜態路由:

    code language-conf
    <ip-address> french.mysite.mg
    <ip-address> german.mysite.mg
    
  3. 前往瀏覽器中的下列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