【发布时间】:2017-06-21 16:05:27
【问题描述】:
我有一个使用 angular2 路由的 ASP.NET CORE 应用程序。运行本地路由按预期解析。当我发布到服务器(运行 IIS 7)时,路由似乎添加了我发布它的文件夹目录。在下面的示例中,“页面 url”是我导航到的页面,但“结果 url”是浏览器地址栏中显示的内容。
页面地址 --> http://myserver/orders
结果网址 --> http://myserver/orders/orders
关于为什么会发生这种情况的任何想法?这是 IIS 设置、Angular 路由问题还是 .NET CORE 配置问题?
这是我在 angular2 中配置路线的方式。
export const appRoutes:Routes = [
{ path: 'orders', component: OrderSearchComponent, resolve: {orders: OrderSearchResolverService}},
{ path: 'orders/new', component: CreateOrderComponent},
{ path: 'orders/:id', component: OrderDetailComponent, canActivate: [OrderRouterActivator]},
{ path: '404', component: Error404Component},
{ path: '', redirectTo: 'orders', pathMatch: 'full'},
{ path: 'user', loadChildren: 'app/user/user.module#UserModule' }
]
在我的开发框中,href 设置如下:
<base href="/">
这在 IIS 上不起作用,所以我尝试了很多不同的设置,但都没有成功。
<base href=""> and <base href="/order/"> both return:
http://myserver/orders/orders
有什么建议吗?
编辑 - 显示 appRoutes 的使用位置。
@NgModule({
...
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule.forRoot(appRoutes)
]...
【问题讨论】:
-
请显示您的 asp.net 核心路由配置。您是否在配置中指定了默认路由以及“spa-fallback”路由,以便仅加载
index.html/index.cshtml? -
我的配置如上图。
标签: angular iis asp.net-core