0

我正在S3上使用CloudFront託管靜態網站。使用S3/CloudFront將www重定向到非www而無需單獨存儲桶

現在,無論是www.example.comexample.com返回相同的,但我只想example.com工作,並www.example.com重定向到example.com

我知道我可以創造一個又一個水桶,將重定向到主桶(example.com),但後來我將有兩個桶和每個網站2個CloudFront的分佈,它會讓一個爛攤子。

有沒有另一種方法來實現這一目標?

回答

0

您似乎正在使用DNS服務,如您提到example.com
但是,我不知道您在做什麼DNS服務。
由於路線53是常用的,因此根據路線53進行描述。
根據example.com描述域。

您可以以編程方式將example.com重定向編碼爲www.example.com。
但是,通常在AWS級別解決此問題。

需要兩個存儲桶才能在AWS級別解決問題。

  1. example.com(內容鬥)

  2. www.example.com(桶重定向到example.com)
    S3 - >屬性 - >靜態網頁寄存 - >重定向請求
    目標桶或域名:example.com
    協議:HTTP
    (無文件所需的桶。)

  3. 將example.com映射到Route 53上的A記錄。

  4. 將www.example.com映射到Route 53的A記錄。

然後,如果您要求www.example.com,您將被重定向到example.com。

如果您有任何問題,請隨時詢問!
謝謝。

更新1
如果您激活您的CloudFront的CNAME的example.com和www.example.com,
你可以得到example.com和www.example.com只用一個水桶請求。
但是,不建議這樣做,因爲URL的一致性不好。

+0

我知道你的方法,但正如我在問題中提到:「我知道我可以創造一個又一個水桶,將重定向到主桶(例如。com),但隨後我將爲每個網站分配兩個存儲桶和兩個CloudFront分配,並且它會變得很糟糕。「 我正在尋找一種不需要創建2個存儲桶的方法.. – Theodore

+0

@Theodore擁有兩個存儲桶並不意味着您正在部署兩個CloudFront。 僅爲example.com存儲桶創建部署 www.example.com存儲桶是用於重定向到example.com域的存儲桶。 –