Adobe Commerce op locatie: installatie van meerdere winkels zonder winkelcodes in URL's

Wanneer vestiging een nieuwe opslagmening in Adobe Commerce met een douane URL structuur-zulke als www.example.com/dk - zonder globale toe te laten voeg de Code van de Opslag aan URLs het plaatsen toe, verschijnen de inhoud en het thema zoals verwacht, maar de pagina toont fout van a 404. Dit gebeurt zelfs wanneer NGINX is geconfigureerd met MAGE_RUN_TYPE - en MAGE_RUN_CODE -instructies.

Om dit te bevestigen, vorm basis URL, werk NGINX of serverconfiguratie bij, en verifieer zitting en verpletterend gedrag.

Beschrijving description

Omgeving

Adobe Commerce on-Prem

Probleem/symptomen

  • De opslag-specifieke inhoud laadt correct maar resulteert in a 404 fout pagina.
  • NGINX is geconfigureerd om aanvragen voor /dk/ via MAGE_RUN_TYPE en MAGE_RUN_CODE te verzenden, maar de instelling werkt niet zoals verwacht.

Resolutie resolution

Om een structuur van douaneURL voor een specifieke opslagmening te vormen zonder globaal toe te laten voeg de Code van de Opslag aan Urls toe, volg deze stappen:

  1. Plaats basis URLs voor de nieuwe opslagmening in het admin paneel onder > Configuratie > Algemeen > Web . Gebruik bijvoorbeeld https://www.example.com/dk/ .

  2. Werk de serverconfiguratie bij:

    • NGINX: verzeker de configuratieroutes /dk/ aan de correcte opslagmening:

      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;
                              }
      
      • Alternatief (Alle Webservers): creeer a magento-vars.php dossier in de wortel van Magento:
      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;
      

      Neem dit op als de eerste regel in pub/index.php :

      code language-none
      require __DIR__ . '/../magento-vars.php';
      
  3. Controleer of cookies (bijvoorbeeld PHPSESSID ) correct zijn ingesteld in HTTP-reacties om ervoor te zorgen dat de sessiegegevens worden uitgelijnd op de winkel.

  4. Controle voor extra herschrijft of richt die zich in het verpletteren zou kunnen mengen.

  5. Als de inhoud laadt maar a 404 fout toont:

    • Magento-aanmeldingen var/log en serverlogboeken controleren op fouten of verkeerde configuraties.

    • Cache- en redex-gegevens wissen met CLI:

      code language-none
      bin/magento cache:clean
                          bin/magento indexer:reindex
      
  6. Test de toegang tot verschillende pagina's in de Deense winkelweergave na het toepassen van deze wijzigingen.

Gerelateerde lezing

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