Angular 2 + IIS 刷新 404 错误

Angular 2 + IIS on refresh 404 error

我最近在vs2015和IIS 7.5中陈述了一个angular 2项目。 我在刷新页面时遇到问题,当我刷新页面时我得到

"HTTP Error 404.0 - Not Found".

这是我的 angular 代码: 在 index.html 我有

<script>document.write('<base href="' + document.location + '" />');</script>

在app.module.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';

import { AppComponent } from './app.component';
import { HomeComponent } from './components/home/home.component';

import { HomeModule } from './modules/home.module';
import { CodesModule } from './modules/codes.module';
import { AdminModule } from './modules/admin.module';

@NgModule({
    imports:
    [
        BrowserModule,
        HttpModule,
        RouterModule.forRoot([
            { path: 'home', component: HomeComponent },
            { path: 'home/:unauthorized', component: HomeComponent },
            { path: '', redirectTo: 'home', pathMatch: 'full' },
            { path: '**', redirectTo: 'home', pathMatch: 'full' },
        ]),
        HomeModule,
        CodesModule,
        AdminModule
    ],
    declarations:
    [
        AppComponent,
        HomeComponent
    ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }

以及其他模块:

import { NgModule } from '@angular/core';

import { RouterModule } from '@angular/router';

import { CodesComponent } from '../components/codes/codes.component';

@NgModule({
    declarations:
    [
        CodesComponent
    ],
    imports:
    [
        RouterModule.forChild([
            { path: 'codes', component: CodesComponent },
        ])
    ]
})
export class CodesModule {

}

import { NgModule } from '@angular/core';

import { RouterModule } from '@angular/router';

import { AdminCompoment } from '../components/admin/admin.component';

@NgModule({
    declarations:
    [
        AdminCompoment
    ],
    imports:
    [
        RouterModule.forChild([
            { path: 'admin', component: AdminCompoment },
        ])
    ]
})
export class AdminModule {

}

当我尝试使用 hash 标签时可以正常工作,但我不想使用 has 标签。 我尝试在 IIS 中重写规则,但是当我刷新某些页面时,我只重定向到主页。

求助。 谢谢。

已解决。 步骤:

  1. 在web.config中添加重写 用这样的动作 <action type="Rewrite" url="/eUsluge.Administration.UI/" appendQueryString="true" />

  2. Index.html 添加这个

<base href="/Application/" />