Para quem está na missão de migrar suas aplicações do Angular 1 para o Angular 5, vai passar por algumas descobertas: ngFor, ngIf, [hidden], [disabled], entre outras coisas. E uma das descobertas é em relação a famosa # (hashtag) na URL. No Angular 1, a gente resolvia facilmente com a importação do $locationProvider nas rotas e setando.
$locationProvider.html5Mode({ enabled: true, requireBase: false });
Ou simplesmente:
$locationProvider.html5Mode(true);
E adicionando a base href:
<head> <base href="/"> ... </head>
Mas como fica isso no Angular 5? No arquivo app.module.ts, faça a importação do APP_BASE_HREF:
import {APP_BASE_HREF} from '@angular/common';
E no decorator ngModule adicione:
providers: [{provide: APP_BASE_HREF, useValue: '/'}]
Você pode adicionar qualquer coisa no useValue, por exemplo: useValue : ‘/app’. Neste caso, todos meus links ficariam {dominio.ext}/app/{router}.
Espero que a dica seja útil.