本地主机上的路由有效,我不仅可以从索引访问路由,而且可以访问 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
基本设置为“ /”
我尝试用useHash,它可以工作,但是真的很丑。
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
答案 0 :(得分:0)
我们可以通过使用哈希策略来克服这个问题
希望有帮助。
RouterModule.forRoot(routes, {
useHash: true
})
],
答案 1 :(得分:0)
如果您正在使用Spring(或其他端点技术),则可以使用的另一个选项是定义一个控制器,该控制器将您的角度应用程序中的所有路由重定向到index.html文件。示例:
@Controller
@RequestMapping({
"/login",
"/clients",
"/admin/users",
"/admin/programs",
"/reports",
"/404"
})
class AppController {
@GetMapping
String admin() {
return "../static/index";
}
}