Omdirigeringar
Hantering av omdirigeringsregler är ett vanligt krav för webbprogram, särskilt när du inte vill förlora inkommande länkar som har ändrats eller tagits bort över tid.
I följande exempel visas hur du hanterar omdirigeringsregler på din Adobe Commerce för molninfrastrukturprojekt med konfigurationsfilen routes.yaml
. Om omdirigeringsmetoderna som beskrivs i det här avsnittet inte fungerar för dig kan du använda cachelagringshuvuden för att göra samma sak.
{default}
representerar den standarddomän som konfigurerats för platsen. Om projektet har flera domäner använder du platshållaren {all}
för att konfigurera routning för standarddomänen och alla alias. Se Konfigurera vägar.Uppdateringar av Pro-miljöer
routes.yaml
och i cron-konfigurationen i filen .magento.app.yaml
. Adobe rekommenderar att du uppdaterar och testar YAML-konfigurationsfiler i en integreringsmiljö och sedan distribuerar ändringar i mellanlagringsmiljön. Om dina ändringar inte tillämpas på mellanlagringswebbplatser efter att du har omdistribuerat och det inte finns några relaterade felmeddelanden i loggen, MÅSTE Skicka en Adobe Commerce-supportanmälan som beskriver de konfigurationsändringar du har gjort. Inkludera eventuella uppdaterade YAML-konfigurationsfiler i biljetten.routes.yaml
för Adobe Commerce i molninfrastrukturprojekt kan det orsaka prestandaproblem. Om din routes.yaml
-fil är 32 kB eller större kan du avlasta din icke-regex och omdirigera den till Fast. Se Avlasta icke-regex-omdirigeringar till Fast istället för Nginx (vägar) i Adobe Commerce Help Center.Omdirigeringar i hela flödet
Med hjälp av omdirigeringar för hela vägen kan du definiera enkla vägar med hjälp av filen routes.yaml
. Du kan till exempel omdirigera från en huvuddomän till en www
-underdomän enligt följande:
http://{default}/:
type: redirect
to: http://www.{default}/
Omdirigeringar för delväg
I filen .magento/routes.yaml
kan du lägga till regler för partiell omdirigering till befintliga flöden baserat på mönstermatchning:
http://{default}/:
redirects:
expires: 1d
paths:
"/from": { to: "http://example.com/" }
"/regexp/(.*)/matching": { to: "http://example.com/$1", regexp: true }
Delvisa omdirigeringar fungerar med alla typer av vägar, inklusive flöden som betjänas direkt av programmet.
Det finns två nycklar under redirects
:
-
förfaller - Valfritt, anger hur lång tid omdirigeringen ska cachelagras i webbläsaren. Exempel på giltiga värden är
3600s
,1d
,2w
,3m
. -
paths - Ett eller flera nyckelvärdepar som anger konfigurationen för omdirigeringsregler för partiell väg.
För varje omdirigeringsregel är nyckeln ett uttryck för att filtrera sökvägar för omdirigering. Värdet är ett objekt som anger målmålet för omdirigeringen och alternativ för bearbetning av omdirigeringen.
Objektet value har följande egenskaper:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 Egenskap Beskrivning to
Obligatoriskt, en partiell absolut sökväg, URL med protokoll och värd, eller mönster som anger målmålet för omdirigeringsregeln. regexp
Valfritt, standardvärdet är false
. Anger om sökvägsnyckeln ska tolkas som ett reguljärt PCRE-uttryck.prefix
Anger om omdirigeringen gäller både banan och alla dess underordnade objekt, eller bara själva banan. Standardvärdet är true
. Det här värdet stöds inte omregexp
ärtrue
.append_suffix
Avgör om suffixet överförs med omdirigeringen. Standardvärdet är true
. Det här värdet stöds inte om nyckelnregexp
ärtrue
eller* om nyckelnprefix
ärfalse
.code
Anger HTTP-statuskoden. Giltiga statuskoder är 301
(Flyttad permanent),302
,307
och308
. Standardvärdet är302
.expires
Valfritt, anger hur lång tid det tar att cachelagra omdirigeringen i webbläsaren. Standardvärdet är det expires
-värde som definieras direkt under nyckelnredirects
, men på den här nivån kan du finjustera cacheminnets förfallotid för enskilda partiella omdirigeringar.
Exempel på delvägsomdirigeringar
I följande exempel visas hur du anger delvägsomdirigeringar i filen routes.yaml
med hjälp av olika paths
-konfigurationsalternativ.
Mönstermatchning för reguljära uttryck
Använd följande format för att konfigurera omdirigeringsbegäranden baserat på ett reguljärt uttryck.
http://{default}/:
type: upstream
redirects:
paths:
"/regexp/(.*)/match": { to: "http://example.com/$1", regexp: true }
Den här konfigurationen filtrerar sökvägar mot ett reguljärt uttryck och dirigerar om matchande begäranden till https://example.com
. En begäran om https://example.com/regexp/a/b/c/match
dirigeras till exempel om till https://example.com/a/b/c
.
Matchning av prefixmönster
Använd följande format för att konfigurera omdirigeringsbegäranden för sökvägar som börjar med ett angivet prefixmönster.
http://{default}/:
type: upstream
redirects:
paths:
"/from": { to: "https://{default}/to", prefix: true }
Den här konfigurationen fungerar så här:
-
Omdirigerar begäranden som matchar mönstret
/from
till sökvägenhttp://{default}/to
. -
Omdirigerar begäranden som matchar mönstret
/from/another/path
tillhttps://{default}/to/another/path
. -
Om du ändrar egenskapen
prefix
tillfalse
utlöser förfrågningar som matchar mönstret/from
en omdirigering, men förfrågningar som matchar mönstret/from/another/path
gör det inte.
Matchning av suffixmönster
Använd följande format för att konfigurera omdirigeringsbegäranden som bifogar sökvägssuffixet från begäran till målmålet:
http://{default}/:
type: upstream
redirects:
paths: "/from": { to: "https://{default}/to", append_suffix: false }
Den här konfigurationen fungerar så här:
-
Omdirigerar begäranden som matchar mönstret
/from/path/suffix
till sökvägenhttps://{default}/to
. -
Om du ändrar egenskapen
append_suffix
tilltrue
dirigeras förfrågningar som matchar/from/path/suffix
om till sökvägenhttps://{default}/to/path/suffix
.
Sökvägsspecifik cachekonfiguration
Använd följande format om du vill anpassa tiden för att cachelagra en omdirigering från en viss sökväg:
http://{default}/:
type: upstream
redirects:
expires: 1d
paths:
"/from": { to: "https://example.com/" }
"/here": { to: "https://example.com/there", expires: "2w" }
Den här konfigurationen fungerar så här:
-
Omdirigeringar från den första sökvägen (
/from
) cachas i en dag. -
Omdirigeringar från den andra sökvägen (
/here
) cachelagras i två veckor.