2022-03-01 投稿

AWS S3で運用している静的サイトを簡単に301リダイレクト設定する

S3の静的ウェブサイトホスティングしているWebページを簡単に301リダイレクトすることができます。

静的ウェブサイトホスティングのリダイレクトルール

S3の場合、こんな場合に簡単にリダイレクト設定ができるので嬉しいです。

  • サイトをリニューアルするのでURLを変えたい
  • 特定のディレクトリアクセスの場合に別のURLを参照させたい

ただし、リダイレクトルールは最大50個までしか設定できないという制約もあります。 またレスポンスコードは301(Permanently moved)になります。SEOの対応としても301のほうが望ましそうです。

静的ウェブサイトホスティングのリダイレクトルールを編集

  • S3→バケットを選択→「プロパティ」を選択→「静的サイトホスティング」の「編集」
  • 静的ウェブサイトホスティングが有効になっていない場合は有効にする
  • 「リダイレクトルール」にルールを記載する

以下のように配列の中にルールを列挙していきます。書き方のルールはこちらを参照ください。

1// リダイレクトルール
2[
3    {
4        "Condition": {
5            "KeyPrefixEquals": "old_article.html"
6        },
7        "Redirect": {
8            "HostName": "sagara.ink",
9            "ReplaceKeyPrefixWith": "path/to/new_article"
10        }
11    },
12    {
13        "Condition": {
14            "KeyPrefixEquals": "old_directory/"
15        },
16        "Redirect": {
17            "HostName": "sagara.ink",
18            "ReplaceKeyPrefixWith": "new_directory/"
19        }
20    },
21    ...
22]

ファイル(HTML)などを指定することもできますし、ディレクトリを指定して転送することもできます。

NginxやApacheのリダイレクト設定とかを考えなくていいので心理的な負担が少なくて助かります。