the provide please for app_base_href html5 angular angular2-routing

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="/">