Rewrite non www to www in AWS S3 bucket and CloudFront

Hello Everyone,

This article cover how to redirect non-www domain to www while using S3 bucket static hosting and CloudFront. As everyone might know about how to redirect/rewrite non-www to www using .htaccess in apache server.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Like above apache rule but differently have to setup rules in S3 bucket and CloudFront.

What is expectation ?

Redirect all request which comes to http://example.com/ requests to http://www.example.com

Answer :

  1. Create www.example.com S3 bucket and set all code in this bucketBucket creation
  2. Create example.com S3 bucket and set redirect to example.com said by Second bucket creationRedirection setting
  3. Create CloudFront and configure with s3 bucket link of example.com and add CNAME entry only for example.com. In route 53 for example.com point alias as CloudFront link related to s3 bucket S3 origin configurationCNAME setting in CloudFront
  4. Do same setting as per point 3 for example.com point alias s3 bucket of example.com
  5. Create Route53 entry for both domain www.example.com and example.com A record and endpoint should be respective CloudFront endpoint. Route53 Configuration

Then we are done 🥳 🥳 🚀🚀🚀

Reference :

Comments (2)

Sonia Manoubi's photo

Nice to have some articles about AWS, i am also writing some stuff about AWS if you want to check it out :)

Avinash Dalvi's photo

Some of writing based on my expertise and some i am doing research on new AWS resources.