簡體   English   中英

在 Route53 和 CloudFront 中將 www 重定向到非 www

[英]Redirect www to non www in Route53 and CloudFront

我正在使用以 S3 為源的 CloudFront(存儲桶不公開,static 網站未啟用)。 桶有一些隨機名稱。

我已經為 example.com 創建了一個 ACM 和 R53 主菜 + 為此域配置了 CloudFront,它適用於https://example.com

現在我想將https://www.example.com重定向到https://example.com 我將www.example.com作為域添加到 CloudFront(不確定是否需要),並且我創建了一個新的 R53 entree (CNAME) 從www.example.com到 example.com。

現在 domain.com 和www.example.com都可以工作,但這不是我想要的。 我希望www.example.com重定向到 example.com。 我該如何解決?

您可以使用 CloudFront Functions 基於主機 header 進行重定向。您可以在 CloudFront 控制台的Functions部分創建 function - 這是一個示例:

function handler(event) {
    var request = event.request;
    var host = request.headers.host.value;

    if (host === 'www.example.com') {    
        var response = {
            statusCode: 301,
            statusDescription: 'Moved Permanently',
            headers: { 
                'location': { "value": `https://example.com${request.uri}` } 
            }
        };

        return response;
    }

    return request;
}

您需要兩個不同的 CloudFront 分配。

  1. example.com -> s3 來源
  2. www.example.com -> s3 將存儲桶(網站)重定向到example.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM