2017-02-03 10 views
4

Amazon S3にAngular2アプリケーションを正常にデプロイしました。それはうまく動作します。 routeLinks/codeを使用してナビゲートすると、すべてのルーティングが正常に動作します。Amazon S3にデプロイされたAngular 2アプリケーションは404エラーを返します

しかし、ページをリフレッシュするか特定のルートにジャンプすると、次のように404エラーが発生します。 enter image description here

私たちは、Angular2でダイナミックなルートがあることを知っています。 S3バケットに展開/格納された最終コードベースのパス/ルート名を持つ物理ディレクトリはありません。しかし、私はS3がS3バケットに格納されている物理的なオブジェクトだと考えていますが、それはフェッチできません。

この問題を解決するにはどうすればよいですか?

+2

[S3 Static Website Hosting Route [Index.htmlへのすべてのパス]の可能な複製](http://stackoverflow.com/questions/16267339/s3-static-website-hosting-route-all-paths-to-index- html) –

+0

ページを更新すると、ダイナミックなクライアント側のルートがリクエストとしてサーバーに送信され、S3はクライアント側だけで実際のファイルではないためサーバー上に存在します。すべての動的ルートをメインのSPAエントリポイントにリダイレクトするようにバックエンドを設定する必要があります。 HTML5のURLからハッシュスタイルのURLに切り替えた場合、問題は解決されます。https://angular.io/docs/ts/latest/guide/router.html#!#browser-url-styles –

答えて

1

同じ問題がありました。 [プロパティ]> [静的ウェブサイトホスティング]に移動します。

エラー文書のフィールドに、hereのようにindex.htmlを追加します。

関連する問題