簡単に言えば、古いリンクを新しいルートにリダイレクトしたいと考えています。私はapp-routes.tsでこれを行う方法を知っていますが、それは正確にはではありません。例:.NETからangular2への移行:古い(絶対)リンクをリダイレクトする方法は?
export const ROUTES: Routes = [ { path: 'my-loads', component: MyLoadsComponent, canActivate: [AuthGuard] }, { path: 'Applications/LoadBoard/CarrierBoard.aspx', redirectTo: 'my-loads' } ]
このリダイレクトが実際に動作しますが、ユーザーが(ハッシュ付き)/#/Applications/MyApp/Controller.aspx
を訪問しようとしますが、ユーザーがURLのユーザーである、ハッシュなし(/Applications/MyApp/Controller.aspx
を訪問しようとすると動作しません場合にのみ、ブックマークされます)。
これはwebpack/angular2がという相対的なのURLを使用してサイトを使用するために必要なすべてのスクリプトを読み込んでいるようです。 /script.bundle.js
の代わりにscript.bundle.js
をロードしようとしていますので、/Applications/MyApp/script.bundle.js
をロードしようとしています。この場合、root以外の絶対URLにアクセスしようとすると、必要なスクリプトの404文字しか取得できないので、スクリプトは実行されず、 "Loading ..."と表示されます。
このようなコンパイルのアイデアは、ユーザーがルートフォルダに常駐していないWebアプリケーションを作成できるようにすることです。これは良い考えですが、古いURLのリダイレクトを妨げています。 angular2内でこれらのリダイレクトを実装する方法はありますか?
にRouterModuleラインを変更し、私たちの
app.module.ts
で私たちのルートからハッシュを削除する必要が私はまだベースHREFは環境に依存すること持ってする方法を研究し、代わりにしていますハードコードされています。幸いなことに、ベースhrefは各開発者の環境にあるべきであり、ステージングとプロダクトであるべきですが、私はまだこれを環境変数にしたいと思います。 –