S3でウェブサイトホスティングする際に、存在しないドキュメントへのアクセスを全て特定のパスにリダイレクトしたいケースがあったのでその時のメモ。
ルーティングルール等は公式ドキュメントが詳しい
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/how-to-page-redirect.html
実際の設定
xml形式で、リダイレクトルールを設定する。
サンプル
例)存在しないドキュメントへのリクエストは、全てhogeにリダイレクトする。 ※hoge/index.htmlを設置する。
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<ReplaceKeyPrefixWith>hoge</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
動作イメージ
存在しないパスへのリクエスト https://hogehoge.com/abc.jpg
↓
301リダイレクト
↓
https://hogehoge.com/hoge/
が表示される