Amazon CloudFrontのCloudFront Functionsを使用することで、
wwwなしからwwwありのURLにリダイレクトさせます。
手順
対象ディストリビューションの代替ドメイン名(CNAME)として、
wwwなしとwwwありの独自ドメインを追加する。
以下のような関数を作成し、関数の発行まで行う。
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;
}
対象ディストリビューションのビヘイビアにおいて、
ビューワーリクエストに上記の関数を関連付ける。
参考
- CloudFront Functions で www なしの URL を www 有りの URL にリダイレクトさせる
https://zenn.dev/oppara/articles/aws-cloudfront-functions-redirect-www - ビューワーを新しい URL にリダイレクトさせる – Amazon CloudFront
https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/example-function-redirect-url.html