J'ai une application Angular 4 qui fonctionne plutôt bien. J'ai utilisé HashLocationStrategy mais j'ai décidé de ne plus avoir de hash dans mes URLs.Angular 4 Router - Erreur de page introuvable sur la redirection
Mon routeur mis en place ressemble à quelque chose comme ça maintenant ...
export const routes: Routes = [
{
path: '',
component: TilesComponent
},
{
path: 'profile/:urlUserName',
component: ProfileComponent
},
{
path: 'forBusiness',
component: ForBusinessComponent
},
{
path: 'login',
component: LoginPageComponent
},
{
path: 'editTile/:urlUserName',
component: EditTileComponent,
canActivate: [AuthenticationService]
}
];
export const appRoutingProviders: any[] = [];
export const routing = RouterModule.forRoot(routes, { });
J'ai un lien de ma page d'ouverture qui est générée comme ça ...
routerLink="/forBusiness"
Il réoriente à cette page ...
https://www.tilecase.com/forBusiness
maintenant, si je laisse tomber tout ce ur l dans un navigateur et essayer de charger la page forBusiness seul, je reçois une erreur «Page introuvable».
Que dois-je faire pour ma route ou ma mise en page pour que cela fonctionne?
Il n'y a pas besoin de changer quoi que ce soit dans votre code angulaire lorsque vous passez à un autre 'LocationStrategy'. Cependant, votre serveur doit supporter HTML5 pushState et doit être configuré pour le faire. –
Merci comme toujours. J'utilise Netlify pour le rendu SEO. Je ne suis pas sûr qu'ils l'offrent. Existe-t-il d'autres façons de supprimer le hachage? –
Non, si le serveur ne supporte pas HTML5 pushState, alors il n'y a aucun moyen AFAIK. –