html5 - please provide a value for the app_base_href token or add a base element to the document.
Angular2 sin hash en la url (2)
Ahora, la URL de mi sitio web se ve así porque estoy usando el enfoque descrito aquí
http: // localhost: 4200 / # / cadastro
¿Es posible eliminar el hash en la url y no obtener el error 404?
EDITAR: Se agregó el módulo de enrutador
const appRoutes: Routes = [
{ path: '''', component: HomeComponent },
{ path: ''cadastro'', component: CadastroNoivosComponent },
{ path: ''**'', component: HomeComponent }
];
export const routing = RouterModule.forRoot(appRoutes);
Si usa PathLocationStrategy como se describe aquí , puede eliminar el hash en la URL.
Pero deshacerse del error 404 necesita algunas modificaciones del lado del servidor. Una manera rápida y fácil es configurar su servidor para que cargue la página de inicio cuando se solicite cualquier URL del formulario http://yourhost/*
.
Si usa Final angular, las razones para el hash podrían ser:
RouterModule.forRoot(yourRoutesHere, { useHash: true })
Entonces, eliminar eso podría ayudar.
RouterModule.forRoot(yourRoutesHere)
Alternativamente, si usted en sus proveedores (en NgModule) ha usado:
{provide: LocationStrategy, useClass: HashLocationStrategy}
solo elimina eso.
EDIT, si necesita LocationStrategy, intente cambiar HashLocationStrategy
por PathLocationStrategy
:
{provide: LocationStrategy, useClass: PathLocationStrategy}
Más sobre LocationStrategy aquí
Ahora que ya he visto sus rutas con respecto a su problema 404, podría intentar cambiar las siguientes
{ path: ''**'', component: HomeComponent }
a:
{ path: ''**'', redirectTo: '''', pathMatch: ''full'' }
Más sobre el enrutamiento aquí
También verifica que en tu index.html
hayas configurado el basehref así:
<base href="/">