0

私はS3/cloudfrontにデプロイされる単一のページアプリケーションを作成しています。私は、展開が読み込まれるときに実行されるいくつかのgulpタスクを持っています。これらの手順の1つでは、すべてのファイルをリビルドし、index.htmlはindex-5737284.htmlのようになります。ファイルの名前が変更された後、gulpはクラウドフロントに呼び出しを呼び出し、デフォルトのルートオブジェクトを新しい名前と一致するように変更します。これにより、キャッシュを効果的に無効にすることができます。クラウドフロントのエラー応答をデフォルトのルートオブジェクトに変更する

私のアプリケーションのページを更新しようとすると、問題が発生します。例:myapp.com/some-pageそれは単一のページアプリケーションなので、存在しません。これらの要求をすべて新しいデフォルトルートオブジェクトにリダイレクトしたいと思います。とにかくそれをクラウドフロントで設定する方法はありますか?手動で404エラーのリダイレクトを入力することはできますが、ランダムなハッシュがインデックス上にどのようなものになるか分からないので、より自動的なものが必要です。

+1

あなたは単にリクエストを '/'にリダイレクトできるはずです。 CloudFrontはデフォルトのルートオブジェクトをレンダリングします。 –

+0

duh。それは私の愚かだった。あなたが答えを出すなら、私は受け入れます。 – jhummel

答えて

1

私は新しいデフォルトルートオブジェクトへのこれらの要求をリダイレクトしたいと思います。

デフォルトのルートオブジェクトは、/でアクセス可能なので、あなただけの/へのすべての要求をリダイレクトすることができます。デフォルトルートオブジェクトがどんなものであっても、実際のパスにリダイレクトする必要はありません。

CloudFrontは、要求を送信元に送信する前に、URIを内部的にrewitingすることによって、デフォルトルートオブジェクトの要求を処理します。