How to redirect non www to www in aws s3 bucket and cloudfront

There is a feature in S3 where you can to this. Select a bucket, in Properties under Static Web Hosting select Redirect all requests to another host name.

Read more here: https://aws.amazon.com/blogs/aws/root-domain-website-hosting-for-amazon-s3/

Update from comment: Add a cname in your domain setup for example.com to point to your bucket endpoint and a cname for your www.example.com to point to the cloudfront endpoint.


answer for this

  1. create www.example.com s3 bucket and set all code in this bucket
  2. create example.com s3 bucket and set redirect to www.example.com said by https://aws.amazon.com/blogs/aws/root-domain-website-hosting-for-amazon-s3/
  3. create cloudfront and configure with s3 bucket link of www.example.com and add cname entry only for www.example.com.
  4. in route 53 for www.example.com point alias as cloudfront link related to s3 bucket
  5. for example.com point alias s3 bucket of example.com

Thanks for helping its works for me.