Búsqueda de sitios web

typescript - ¿Cómo eliminar # en la URL en Angular 5?


En realidad, estoy usando Angular 5 para mi proyecto, necesito eliminar el # de mi URL. Aquí está mi URL http://localhost:4200/#/product/add. Después de publicarla en mi dominio funciona correctamente, pero al refrescar la página muestra un error 404 debido al # en mi URL. ¿Es posible hacer esto?

  • Need to remove # in url

Respuesta #1

Necesitas cambiar tu LocationStrategy a PathLocationStrategy

Por defecto, Angular utiliza PathLocationStrategy, eso dicho, parece que probablemente estás definiendo HashLocationStrategy tú mismo. Busca algún tipo de este código en tu proyecto:

RouterModule.forRoot(routes, { useHash: true })

En este caso, simplemente elimina el useHash de la siguiente manera:

RouterModule.forRoot(routes)

O tal vez

[Location, {provide: LocationStrategy, useClass: HashLocationStrategy}]

En este caso, cambie HashLocationStrategy a PathLocationStrategy de la siguiente manera:

[Location, {provide: LocationStrategy, useClass: PathLocationStrategy}]

Artículos relacionados