🌟

CloudFront Functions で www なしの URL を www 有りの URL にリダイレクトさせる

2021/06/02に公開

前提

  • 以下のドメインを 1 つの CloudFront ディストリビューションにルーティングしている。
    • www.example.com
    • example.com
  • S3 の Static Website Hosting は使用しない。
  • cloudfront.net.xxxみたいなドメインは存在しない。

ソース

function handler(event) {
  var request = event.request;
  var host = request.headers.host.value;
  var uri = request.uri;

  if (!host.includes('cloudfront.net') && !host.startsWith('www')) {
    return {
      statusCode: 301,
      statusDescription: 'Moved Permanently',
      headers: { location: { value: `https://www.${host}${uri}` } },
    };
  }

  return request;
}

Discussion