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 toObligatoriskt, en partiell absolut sökväg, URL med protokoll och värd, eller mönster som anger målmålet för omdirigeringsregeln. regexpValfritt, standardvärdet är false. Anger om sökvägsnyckeln ska tolkas som ett reguljärt PCRE-uttryck.prefixAnger 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_suffixAvgör om suffixet överförs med omdirigeringen. Standardvärdet är true. Det här värdet stöds inte om nyckelnregexpärtrueeller* om nyckelnprefixärfalse.codeAnger HTTP-statuskoden. Giltiga statuskoder är 301(Flyttad permanent),302,307och308. Standardvärdet är302.expiresValfritt, 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
/fromtill sökvägenhttp://{default}/to. -
Omdirigerar begäranden som matchar mönstret
/from/another/pathtillhttps://{default}/to/another/path. -
Om du ändrar egenskapen
prefixtillfalseutlöser förfrågningar som matchar mönstret/fromen omdirigering, men förfrågningar som matchar mönstret/from/another/pathgö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/suffixtill sökvägenhttps://{default}/to. -
Om du ändrar egenskapen
append_suffixtilltruedirigeras förfrågningar som matchar/from/path/suffixom 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.