所以我定义了一些路线/回家,/联系,…
使用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/