Lokal Adobe Commerce: Konfiguration i flera butiker utan butikskoder i URL:er
När du konfigurerar en ny butiksvy i Adobe Commerce med en anpassad URL-struktur, till exempel www.example.com/dk, utan att aktivera den globala inställningen Lägg till butikskod i URL:er visas innehållet och temat som förväntat, men sidan visar ett 404-fel . Detta händer även när NGINX har konfigurerats med direktiven MAGE_RUN_TYPE och MAGE_RUN_CODE.
Du kan åtgärda detta genom att konfigurera bas-URL:en, uppdatera NGINX- eller serverkonfigurationen och verifiera sessions- och routningsbeteenden.
Beskrivning description
Miljö
Adobe Commerce lokal
Problem/symtom
- Det butiksspecifika innehållet läses in korrekt, men resulterar i en 404-felsida .
- NGINX har konfigurerats för att dirigera begäranden för
/dk/medMAGE_RUN_TYPEochMAGE_RUN_CODE, men konfigurationen fungerar inte som förväntat.
Upplösning resolution
Så här konfigurerar du en anpassad URL-struktur för en viss butiksvy utan att aktivera Lägg till butikskod till URL:er globalt:
-
Ange bas-URL:er för den nya butiksvyn på adminpanelen under Lagrar
>Konfiguration>Allmänt>Webb. Använd till exempelhttps://www.example.com/dk/. -
Uppdatera serverkonfigurationen:
-
NGINX: Kontrollera att konfigurationsvägarna
/dk/till rätt butiksvy: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; }- Alternativ (alla webbservrar): Skapa en
magento-vars.php-fil i Magento-roten:
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;Inkludera detta som den första raden i
pub/index.php:code language-none require __DIR__ . '/../magento-vars.php'; - Alternativ (alla webbservrar): Skapa en
-
-
Kontrollera att cookies (t.ex.
PHPSESSID) har angetts korrekt i HTTP-svar för att säkerställa att sessionsdata justeras mot arkivet. -
Kontrollera om det finns ytterligare omskrivningar eller omdirigeringar som kan störa routningen.
-
Om innehållet läses in men visar ett 404-fel:
-
Granska Magento-loggar i
var/logoch serverloggar för fel eller felkonfigurationer. -
Rensa cache och indexera om data med CLI:
code language-none bin/magento cache:clean bin/magento indexer:reindex
-
-
Testa åtkomsten till olika sidor i den danska butiksvyn efter att du har tillämpat dessa ändringar.
Relaterad läsning
- Konfigurera flera webbplatser eller butiker i Commerce i molnguiden