I have a website hosted on Amazon S3. It is the new version of an old website hosted on WordPress.
I have set up some files with the metadata Website Redirect Location
to handle old location and redirect them to the new website pages.
For example: I had http://www.mysite.com/solution
that I want to redirect to http://mysite.s3-website-us-east-1.amazonaws.com/product.html
So I created an empty file named solution
inside my bucket with the correct metadata:
Website Redirect Location
= /product.html
The S3 redirect metadata is equivalent to a 301 Moved Permanently
that is great for SEO.
This works great when accessing the URL directly from S3 domain.
I have also set up a CloudFront distribution based on the website bucket.
And when I try to access through my distribution, the redirect does not work, ie:
http://xxxx123.cloudfront.net/solution
does not redirect but download the empty file instead.
So my question is how to keep the redirection through the CloudFront distribution ?
Or any idea on how to handle the redirection without deteriorate SEO ?
Thanks
Best Answer
I ran into this problem recently and I found a workaround that seemed to work.
I created a Cloudfront distribution with a custom origin pointing to the S3 static website hostname instead of the bucket hostname. In the OP's case, the desired origin would be.
Hitting a Cloudfront distribution just using the bucket as the origin does not work because the bucket does not actually serve redirects. It only serves files and stores metadata.
Hope that helps.