localhost上的路由工作,我也可以从路由访问www.myhost.com/route1也可以访问localhost www.myhost.com => www.myhost.com/route1在我的家庭服务器上工作(我有公共IP) )www.myhost.com/route1不起作用=>给我找不到
我用ng build构建--prod --watch我尝试PathLocationStrategy我尝试APP_BASE_HREF我尝试了LocationStrategy
base设置为“/”
我尝试使用哈希并且它有效,但真的很难看。
const appRoutes: Routes = [
{path: '', pathMatch: 'full', component: MatchListComponent},
{path: 'match/:id', component: MatchDetailComponent},
{path: 'team/:id', component: TeamDetailComponent}
];
@NgModule({
declarations: [
AppComponent,
MatchListComponent,
MatchDetailComponent,
TeamDetailComponent
],
imports: [
BrowserModule,
HttpClientModule,
NgbModule,
RouterModule.forRoot(appRoutes, {scrollPositionRestoration : 'enabled'})
],
providers: [{provide: PathLocationStrategy}],
bootstrap: [AppComponent]
})
export class AppModule { }
我为角2或4尝试了一些解决方案,但它们不起作用。我的Web服务器是Apache2
我们可以通过使用哈希策略来克服这个问题
希望能帮助到你。
RouterModule.forRoot(routes, {
useHash: true
})
],
如果您使用Spring(或其他一些端点技术),可以使用的另一个选项是定义一个控制器,将您的angular应用程序中的所有路由重定向到index.html文件。例:
@Controller
@RequestMapping({
"/login",
"/clients",
"/admin/users",
"/admin/programs",
"/reports",
"/404"
})
class AppController {
@GetMapping
String admin() {
return "../static/index";
}
}