Angular 2 + IIS刷新404错误

时间:2017-03-01 10:44:42

标签: angular visual-studio-2015 iis-7.5 angular2-routing

我最近在vs2015和IIS 7.5中提到了一个角度2项目。 当我刷新页面时,我有刷新页面的问题

  

" HTTP错误404.0 - 未找到"。

这是我的角度代码: 在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 个答案:

答案 0 :(得分:2)

解决。  步骤进行:

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

  2. Index.html添加此

  3.   

    <base href="/Application/" />