2015-01-26 122 views
0

我目前需要将我的旧网域重定向到我的新网域。我在我的旧域名上设置了转发,除了https版本之外的所有内容都重定向。我只是扩展了旧域中的ssl,但它仍然没有重定向。所以现在我要添加一个使用.htaccess而不是转发的重定向。我在网上无处不在,但似乎无法找到如何使用重写方法在.htaccess中将旧域的所有版本重定向到我的新域的https版本。这是我发现的全部:将我的旧网站的所有版本重定向到.htaccess中我的新网站的h​​ttps版本

redirect permanent https://www.us.olddomain.com/ https://www.newdomain.us/ 
redirect permanent https://us.olddomain.com/ https://www.newdomain.us/ 
redirect permanent http://www.us.olddomain.com/ https://www.newdomain.us/ 
redirect permanent http://us.olddomain.com/ https://www.newdomain.us/ 
redirect permanent www.us.olddomain.com/ https://www.newdomain.us/ 
redirect permanent us.olddomain.com/ https://www.newdomain.us/ 

这是不是我应该使用的方法?

回答

0

这里有很多的帖子,但你可以在你的旧域名上做这个。

RewriteEngine On 
RewriteRule ^(.*) https://www.newdomain.com/$1 [R=301,L] 
+0

这将导致重定向循环,因为旧域和新域都指向相同的服务器。您必须排除匹配新域的请求才能阻止它。 – 2015-01-27 03:22:09

+0

@RaviThapliyal如果他提到他们在同一台服务器上,我会提出这个条件。他的帖子并没有说明这一点。除非我看不懂。 :) – 2015-01-27 03:23:52

+0

是的,OP没有提到它。我会给你:) – 2015-01-27 03:25:35

0

使用正则表达式来捕获所有旧域和重定向如下

RewriteEngine on 

RewriteRule %{HTTP_HOST} ^(www\.)?us\.olddomain\.com$ [NC] 
Redirect^https://www.newdomain.us%{REQUEST_URI} [R=301,L] 

us.olddomain.com上述规则检查(带或不带www前缀)并重定向到新的https网站网址。因为,旧的URL是通过http还是https来访问并且重定向仍然是必需的,所以规则不会检查它。

相关问题