使用 AWS Route 53 将 www 路由到区域顶点(裸域)的推荐方法

使用 AWS Route 53 将 www 路由到区域顶点(裸域)的推荐方法

在我的 AWS Route 53 控制面板中,我目前只为“www”和“非 www”名称设置了 2 个 A 记录。两者都指向与我的 EC2 实例关联的弹性 IP 地址。这很有效,我的网站在两种变体下都可用,但我真的希望所有“www”都路由到“非 www”。

使用 AWS Route 53 来路由所有到达... 的流量,推荐的方法是什么?

www.example.com

示例.com

答案1

DNS 无法强制重定向。即使是 CNAME 也只会解析到相同的 IP 地址,而不会导致浏览器重定向到新的 URL。

如果您正在运行 apache,则可以使用 mod_rewrite 执行此操作:

RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^/(.*) http://example.com/$1 [R=301,L]

上述代码检查您是否访问了 www.example.com,如果是,则使用 301 永久重定向重定向到 example.com。

您可以执行类似操作,强制重定向任何非“example.com”的主机名:

RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteRule ^/(.*) http://example.com/$1 [R=301,L]

这样,任何不完全匹配“example.com”的内容都将被重定向到示例.com

答案2

DNS 的功能不是重写 Web 应用程序的 URL。您可以在 Web 服务器或 Web 应用程序本身中执行此操作。

相关内容