アドレスバーから角度2のルートを開こうとすると、私は引き続きhttp 404応答を受信しますが、 "routerLink"ディレクティブでアンカーを使用しているルートに移動することは問題ありません。私はAngular's Deployment Guideで指示されているURLの書き換えのために私のweb.configファイルを修正しようとしましたが、これは通常私のルーティングを完全に破壊します。最後に、私はindex.htmlファイルに<base href="/">
を含めましたが、これも役に立ちませんでした。コミュニティからの援助は非常に高く評価されています!アドレス2のルーティング - アドレスバーからのリンク
はここに私のルーティングコンポーネントのコードです:
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { ClientsComponent } from './clients.component';
const routes: Routes = [
{ path: 'clients', component: ClientsComponent },
//^This does not work from address bar, only from routerLinks.
{
path: '**',
redirectTo: '',
pathMatch: 'full'
},
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
あなたは簡単に[RouterModule.forRoot(ルート、{useHash:真})] 'と言って'# 'ベースのルーティングを可能にすることで、この問題を解決することができ、あなたが –
をルーティング' html5mode'を必要としない場合には、 'ありがとうPankaj、これはうまくいったけど、私は自分のURLに#記号をつけたくない。 "ハックな"回避策のようだ。これはAngular 2とIISの既知の問題ですか? – DotNetDev
いいえ、これはIISとは別のサーバーで発生する可能性があります。そのような要求を処理するようにサーバを設定する必要があります。 'systemjs' /' weback'を使用しているモジュールローダを知ることができますか? –