所以我定义了一些路线/回家,/联系,…
使用ng build --prod --base-href创建dist文件夹,并通过filezilla将dist文件夹的内容复制到宿主服务器。当直接浏览网站并从网站上重定向时,没有问题,但如果直接浏览到网站/主页,它会显示404 Not Found The requested URL /home was not found on this server
这些响应的宿主支持可能是在.htaccess文件中定义的cleanurl,我们不能对此提供支持。
我认为干净的url是可读的rest调用,但可能其意义比rest更大。但有解决办法吗?

最佳答案

更可能的是,您尚未在提供程序中定义hashLocationStrategy(在app.module.ts中)
在这里更新..我试着加入评论,但它不能格式化
有三种方法
第一条道路

@NgModule({
  imports: [
    BrowserModule,
    FormsModule,..
    RouterModule.forRoot(routes, { useHash: true })
  ],
  declarations: [
    AppComponent, ...
  ],
  providers: [],
  bootstrap: [ AppComponent ]
})

第二条道路
@NgModule({
  declarations: [
    AppComponent, ...
  ],
  imports: [
    AppRoutingModule,
    BrowserModule,
    BrowserAnimationsModule,
    FormsModule,
    HttpModule, ...
  ],
  providers: [
    { provide: LocationStrategy, useClass: HashLocationStrategy }
  ],
  entryComponents: [],
  bootstrap: [AppComponent]
})

3路-建议用于Angular2
使用路径定位策略
import {APP_BASE_HREF} from '@angular/common';

@NgModule({
providers: [{provide: APP_BASE_HREF, useValue: '/my/app'}]
})

有好有坏——我用了第二个,因为我来自安格拉1,2,4,5(老学校):P

关于angular - 找不到直接浏览时的 Angular 路由,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49644151/

10-12 01:33