2016-07-27 5 views
0

サイトのルートに展開されていないアプリケーションはsite.com/TRAP_betaにあり、このような定義済みのコンポーネントルートは{ path: '', component: TrapFormComponent }にあります。ベースURLタグを<base href="/TRAP_beta/">と設定しました。2番のルーターでベースURLの大文字小文字を区別しない

私はsite.com/TRAP_betaに移動すると、すべてが世界と良好であり、アプリケーションが意図したとおりに動作しますが、私はsite.com/trap_betaまたはURLのいずれかの他の同棲バージョンに移動した場合、そのルータは、パスを見つけることができない、それは壊れます。

URL 2をアンセンシティブにするにはどうすればよいですか?

答えて

0

router.navigate(['nextValue']);の代わりにrouter.navigateByUrl('/'+'nextValue');を使用してください。指示は提供されたURLに基​​づいて取得されるためです。

+0

アプリケーションの初期ロードはどうですか?他のバリエーションよりも '' TRAP_beta''に行かないと、 '' ''の経路はロードされません。 –

+0

私はあなたのコードを調べることについて多くのことを話すことはできません。あなたは明示的にナビゲートしようとしたnavigatebyUrlにメソッドを変更しようとしましたか? –

+0

これはナビゲートリンクの問題ではありませんでした。ベースURLがあなたが入れたものと同じ大文字と小文字の区別がなかった場合、ルートを解決できなかったので、アプリケーション自体が単一のコンポーネントをレンダリングする前にエラーを投げた。 –

1

他のものがロードされる前に実行されるスクリプトタグで動的にベース要素を作成しました。

var path = location.pathname.substr(1).match(/[a-z_0-1]*/i)[0]; 
    var base = document.createElement('base'); 
    base.href = '/' + location.pathname.substr(1).match(/[a-z_0-1]*/i)[0] + '/'; 
    document.head.appendChild(base); 

これは私の問題を解決し、私はnavigateByUrlrouter.navigateを使用し続けることができるようにしているようです。

+0

私はこれを行った:[http://stackoverflow.com/ a/39737719/2071008](http://stackoverflow.com/a/39737719/2071008) –

関連する問題