Файл 404 не найден при перезагрузке углового SPA, опубликованного на странице github - PullRequest
0 голосов
/ 25 июня 2018

Я получаю сообщение об ошибке при перезагрузке моего углового приложения, опубликованного на страницах gh. Ошибка:

404
File not found.
The site configured at this address does not contain the requested file.

Я собрал свое приложение, используя ng build --prod.

Github репо: https://github.com/chirag299051/IceAndFire

Страница Github: https://chirag299051.github.io/IceAndFire/

Мой файл app.module.ts содержит:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';


import { AppComponent } from './app.component';
import { HomeComponent } from './home/home.component';
import { AboutComponent } from './about/about.component';

import { RouterModule, Routes } from '@angular/router';
import { BookDetailsComponent } from './book-details/book- 
details.component';
import { CharDetailsComponent } from './char-details/char- 
details.component';
import { HouseDetailsComponent } from './house-details/house- 
details.component';
import { GotService } from './got.service';
import { GotHttpService } from './got-http.service';

import { HttpClientModule, HttpClient } from '@angular/common/http';

@NgModule({
declarations: [
AppComponent,
HomeComponent,
AboutComponent,
BookDetailsComponent,
CharDetailsComponent,
HouseDetailsComponent
],
imports: [
HttpClientModule,
BrowserModule,
RouterModule.forRoot([
  {path: 'home', component: HomeComponent},
  {path:'',redirectTo:'home',pathMatch:'full'},
  {path: 'about', component: AboutComponent},
  {path: 'book/:name',component : BookDetailsComponent},
  {path: 'char/:url',component : CharDetailsComponent},
  {path: 'house/:name',component : HouseDetailsComponent}
])
],
providers: [GotService,GotHttpService,HttpClient],
bootstrap: [AppComponent]
})
export class AppModule { }

И на моем поддомене мои маршруты не работают, когда я нажимаю на любые ссылки, развернутые с помощью nginx.

Субдомен: got.chirag9.com

1 Ответ

0 голосов
/ 02 марта 2019

В файле app-routing.module.ts используйте

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

вместо

imports: [RouterModule.forRoot(routes)]

Здесь мы должны передать useHash: true, чтобы включить хеш-символ в URL. Эта опция поможет предотвратить проблему перезагрузки на страницах GitHub.

...