Amazon-S3
使用 Route53 和 CloudFront 將頂點域重定向到 www
我正在嘗試使用 route53、cloudfront 和 s3設置從 apex 域
example.com
到的重定向。www.example.com
我在網上看到了很多關於這個主題的教程和討論,但還沒有對我有用。而且還不清楚在route53 中究竟要創建哪些記錄。
目前我有,
ALIAS A example.com www.example.com ALIAS A www.example.com abcdefg.cloudfront.net
正如本設置影片教程和許多其他內容中所推薦的那樣。
這沒有用,所以我也嘗試添加
.htaccess
以下內容RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
這也不起作用。
很多人還建議使用 CNAME 記錄,但是對我來說這似乎很明顯這不起作用並在此答案中提到為什麼不能在域的頂點(又名根)使用 CNAME 記錄?.
兩個概念混在一起。DNS 中的
ALIAS
記錄只會影響example.com
解析為 IP 地址的方式。您所做的與您所做的效果完全相同ALIAS A example.com abcdefg.cloudfront.net ALIAS A www.example.com abcdefg.cloudfront.net
它實際上不會重定向網路瀏覽器。重定向將由 Web 伺服器引起。
您在
.htaccess
文件的正確軌道上,但通常只有 Apache Web 伺服器處理.htaccess
文件中的規則。S3 不是 Apache Web 伺服器,此連結表明.htaccess
未處理 S3 上文件中的規則。如果已處理,則問題中的規則會將訪問者從重定向
www.example.com
到example.com
,而您的問題表明您想做相反的事情。因此www.
,將RewriteCond
移至RewriteRule
行。同樣,如果 S3 沒有查看 中的規則.htaccess
,那麼無論您放在那裡,都不會導致您的目標重定向。您可能應該調查其他不使用的重定向方法
.htaccess
,例如此處描述的方法。或者,如果您需要更全面的規則處理,請使用功能更全面的 HTTP 伺服器而不是 S3。