Получите 404 при обновлении страницы после использования PathLocationStrategy в Angular 7 - PullRequest
2 голосов
/ 11 ноября 2019

Мы используем угловой 7 + узел 8.11.4, ранее мы использовали HashLocationStrategy и все маршруты работали, в то время как, как вы знаете, «#» будет автоматически добавлено в URL как флаг хеширования, теперь мы хотим удалить «#»', поэтому я использую PathLocationStrategy вместо Hash *. Хотя после изменения, когда я обновляю страницу, я получаю страницу 404, и это также происходит при посещении страниц с перенаправлением, это мой вопрос.

Я искал и знал, что после изменения на PathLocationStrategy все маршрутизаторы должныперенаправить на index.html (домашняя страница по умолчанию), хотя я не уверен, как реализовать его в среде узлов (большинство - apache, nginx, tomcat)

См. мой код ниже:

app.module.ts :

providers: [{ provide: LocationStrategy, useClass: PathLocationStrategy }, LookupPsmService, ComponentMapping,
    {
      provide: HTTP_INTERCEPTORS,
      useClass: PsmHttpInterceptor,
      multi: true
    }, CookieService, AuthGuard],
  bootstrap: [AppComponent]
})
export class AppModule {CKEditorModule}

index.html :

<base href="/">

AppRoutingModule :

@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule {
}

Мой ожидаемый результат - удалить '#' в URL и можно обновить в браузере.

1 Ответ

0 голосов
/ 11 ноября 2019

Попробуйте удалить это, чтобы увидеть, работает ли оно

{ provide: LocationStrategy, useClass: PathLocationStrategy }

Я не думаю, что вам понадобится

Обновление для обработки 404 в nodejs с использованием Express вы можете сделать так

app.get('*', function(req, res) ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...