angular - Direkt URL-rutt fungerar bra, men inte med domännamn


Jag blir ombedd att göra en webbplats i Angular och acceptera direkta parametrar för en klient på URL-nivå.

Till exempel kommer en försäljningsagent att ha en webbplats som www.website.com/agent/2021 och anpassa sidan baserat på hans ID (2021 i det här fallet). Jag fick detta att fungera precis som det ska genom att ställa in detta i routing.module:

{ path: '', component: AgentComponent, pathMatch: 'full' },
{ path: '**', component: AgentComponent },

Var

path: 'agent/:code', component: AgentComponent,

Allt fungerar perfekt, förutom när jag går direkt till www.website.com, då visas en tom sida. Detta är okej, eftersom koden i app.component.ts körs först. Jag har ställt in ett agent-ID 1 i databasen så att när någon går direkt till URL:en (utan en rutt), kan jag omdirigera till www.website.com/agent/1, men just nu kan jag inte lista ut om användaren gick till den direkta URL:en eller en URL som innehåller en rutt (som www.website.com/agent/2021)

Finns det en lösning för att upptäcka om klienten gick direkt till URL:en (www.website.com) och i så fall omdirigera till www.website.com/agent/1, eller om klienten kommer från en direkt väg (www.website.com/agent/2021), behålla honom på den vägen?

Tack.

Svar #1

Du har det omvänt.

{ path: '**', redirectTo:'agent/1' }, 
{ path: '', component: AgentComponent },