Моя проблема в том, что каждый раз, когда я загружаю свою ссылку. Пример: " https://www.example.com/" он будет перенаправлен на " https://www.example.com/design-brief", так как я настроил его в своем routing.ts. Но когда я воспользуюсь ссылкой " https://www.example.com/design-brief" и введите в свою адресную строку, она покажет ошибку в журнале консоли. "GET https://www.example.com/design-brief 404()"
const APP_ROUTES: Routes = [
{ path: 'design-brief', component: DesignBriefComponent },
{ path: 'design-evaluation', component: DesignEvaluationComponent },
{ path: '', redirectTo: '/design-brief', pathMatch: 'full' },
{ path: "**",redirectTo:"/design-brief" } ];
Вот мой код в моей routing.ts
См. мой ответ здесь для более подробного объяснения того, почему это происходит.
В двух словах у вас есть 2 варианта:
Настройте свой веб-сервер, чтобы он всегда отвечал index.html всякий раз, когда он обнаруживает 404 - таким образом, Angular всегда будет нагрузки и его службы маршрутизации будут обрабатывать навигацию по клиентская сторона.
Измените местоположение приложенияStrategy на стратегию размещения Hash, как описанный здесь здесь. Тем не менее, это изменит ваши URL-адреса приложений, и это не так желательно, по моему мнению.
Я решил это, используя стратегию размещения Hash. Добавьте следующий код в часть импорта @ngModule и префикс всей своей гиперссылки С# и также ссылайтесь на offecial ссылка для информации
RouterModule.forRoot(
appRoutes,{ useHash: true }
)
Вам не нужен пустой путь и путь **, только путь ** с pathMatch 'full':
const APP_ROUTES: Routes = [
{ path: 'design-brief', component: DesignBriefComponent },
{ path: 'design-evaluation', component: DesignEvaluationComponent },
{ path: "**",redirectTo:"design-brief",pathMatch: 'full' } ];
и перенаправление не нуждается в косой черте (/) перед конструкцией-кратким