2013-04-18 55 views
1

我想重定向非www的thats domain.com到www.domain.com。我知道很多人已经在这里发布了相同的问题。我经历了他们中的大多数,意识到我的情况有点不同。我在带有负载平衡器的AWS EC2实例上运行我的电子商务应用程序,并且DNS也停靠在路由53中。最近我们与Akamai集成,因此我们必须更改CNAME并将域名更改为domain.com www.domain.com,以便我们可以通过Akamai为我们的客户提供服务。但是,我们面临的问题是我们无法将domain.com重定向到www.domain.com。由于Route53并非全部301重定向,我们将我们的域名重新寄存到godaddy,它已获得域转发功能。我也尝试使用域名转发进行重定向,但它似乎对我们的帮助不够。重定向或重写非www /通配符到www.domain.com

目前我们正在使用wwwzier.com重定向流量,计划有一个.htaccess。由于它和网站之间的交易预计会更快加载,所以我们无法进行服务器级重定向或重写。

还有什么其他方法可以达到同样的效果。

请好心帮助我,因为我一周之后就与这场大火作斗争。

非常感谢。

+0

你有没有考虑过用一个web服务器来设置一个专门的AWS实例,该服务器只需将301连接到www,并将基本域指向那里? – ianjs 2013-04-18 10:32:12

回答

2

我所做的就是用apache运行安装一个微型实例。微型实例免费一年。我在安全组中直接打开了端口80。然后分配一个弹性ip给它。然后我将A域记录指向该IP。对于微观实例,我只是选择了我认为的亚马逊linux ami。我SSH入,我把下面的.htaccess在/ var/www。

/var/www通常是刚刚安装的apache服务器的默认网页。

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

这基本上将所有whatever.com重定向到他们的www.whatever.com等价物。

因此,现在对于任何你想重定向到www的域,你可以设置该域的A记录到你的微型实例的弹性IP,并且htaccess将重定向到www版本,这样cname指向ELB可以生效。

+0

这是否也会带出最初查看的网址?即'http:// domain.com/category/page'会重定向到'http:// www.domain.com/category/page'? – Lee 2015-03-27 11:46:44

+0

我这么认为。 1美元应该结束。 “在主机名和端口之后,以及查询字符串之前的URL部分”http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule所以它似乎?a = b查询字符串将是下降。我们停止使用这个来支持route53。你想测试这个并在这里报告发现? – JaseC 2015-03-29 22:24:53