在 DNS 级别将所有流量从 http://example.com 重定向到 http://www.example.com

在 DNS 级别将所有流量从 http://example.com 重定向到 http://www.example.com

我使用 Amazon Web Services 来托管我的网站,由于我将使用 ELB 服务,因此我需要将所有流量从http://example.comhttp://www.example.com

通过 DNS 可以实现这个吗?

我使用 Route 53 作为我的 DNS。如有任何提示,我将不胜感激。

答案1

您无法在 DNS 中执行重定向。

相反,您需要一个 HTTP 服务器,该服务器会发送 HTTP 301 重定向以响应 请求mysite.com
大多数注册商都提供重定向服务器;请咨询您的注册商。

答案2

甚至比 organicveggie 更快,而且不需要mod_rewrite(但是运行没有 mod_rewrite 的 Apache 有什么乐趣?)您可以直接从您的站点配置重定向。这根本不需要创建 webroot。这应该位于您<VirtualHost *:80>此站点的部分中:

ServerName mydomain.com
ServerAlias *.mydomain.* myotherdomain.* *.myotherdomain.* yetanotherdomain.*
Redirect 301 / http://mymaindomain.com/

答案3

为了补充 SLaks 响应,处理此问题的常用方法是在 Apache 中使用 mod_rewrite 并发送 301 重定向。换句话说,让 ELB 将流量发送到在您的 EC2 实例上运行的 Apache 服务器。然后,如果主机名不包含 www,则让 Apache 发送重定向。

以下是一个示例片段:

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

希望有所帮助。

相关内容