Adobe Commerce內部部署:在URL中沒有存放區代碼的多重存放區設定

使用自訂URL結構(例如www.example.com/dk)在Adobe Commerce中設定新的存放區檢視時,若未啟用全域 將存放區代碼新增至URL 設定,內容和主題會如預期般顯示,但頁面顯示​ 404錯誤。 即使NGINX設定了MAGE_RUN_TYPEMAGE_RUN_CODE指示詞,也會發生這種情況。

若要修正此問題,請設定基底URL、更新NGINX或伺服器設定,並驗證工作階段和路由行為。

說明 description

環境

Adobe Commerce內部部署

問題/症狀

  • 儲存區特定內容正確載入,但導致​ 404錯誤 ​頁面。
  • NGINX已設定為使用/dk/MAGE_RUN_TYPE路由MAGE_RUN_CODE的要求,但安裝程式未如預期運作。

解決方法 resolution

若要設定特定存放區檢視的自訂URL結構,而不全域啟用 將存放區代碼新增到URL,請遵循下列步驟:

  1. 商店> 設定> 一般> Web 下的管理面板中,設定新商店檢視的基本URL。 例如,使用https://www.example.com/dk/

  2. 更新伺服器設定:

    • NGINX: 確定組態將/dk/路由到正確的存放區檢視:

      code language-none
      location = /dk {
                          return 301 /dk/;
                          }
                          location   /dk/ {
                              set $MAGE_RUN_TYPE store;
                              set $MAGE_RUN_CODE dk;
                              try_files $uri $uri/ /index.php$is_args$args;
                              }
      
      • 替代(所有Web伺服器): 在Magento根目錄中建立magento-vars.php檔案:
      code language-none
      <?php
                      $uri = explode('/', trim($_SERVER[ 'REQUEST_URI'] , '/'));
                      $code = 'default';
                      $type = 'website'; // or 'store'
                      if (isset($uri[ 0] ) && $uri[ 0]  === 'dk') {
                          $code = 'dk';
                          $type = 'store'; // usually 'store' for store views, 'website' for websites
                          }
                          $_SERVER[ 'MAGE_RUN_CODE']  = $code;
                          $_SERVER[ 'MAGE_RUN_TYPE']  = $type;
      

      將此專案加入為pub/index.php的第一行:

      code language-none
      require __DIR__ . '/../magento-vars.php';
      
  3. 請確認HTTP回應中的Cookie (例如PHPSESSID)已正確設定,以確保工作階段資料與存放區一致。

  4. 檢查可能會干擾路由的其他重寫或重新導向。

  5. 如果內容載入但顯示​ 404錯誤

    • 檢閱var/log中的Magento記錄檔和伺服器記錄檔,找出錯誤或設定錯誤。

    • 使用CLI清除快取及重新索引資料:

      code language-none
      bin/magento cache:clean
                          bin/magento indexer:reindex
      
  6. 在套用這些變更後,測試對丹麥商店檢視中各種頁面的存取權。

相關閱讀

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f