我完全感到困惑......我如何重定向到www和非www到新域名?

时间:2013-03-02 19:31:15

标签: redirect no-www iirf

我最近成功移动了域名,但我没有意识到该网站有两个版本:www和非www

我想将流量从我的非www网站重定向到我的新域名...

这就是iirf.ini文件目前的样子:

RewriteCond %{HTTP_HOST} ^www\.foo\.com/? [NC]
RedirectRule ^(.*)$ http://www.bar.com$1 [L,R=301] 

如何设置它以便重定向非www站点?

请帮忙,因为我很困惑。

3 个答案:

答案 0 :(得分:0)

尝试添加此规则:

RewriteCond %{HTTP_HOST} ^(bar|foo)\.com/? [NC]
RedirectRule ^(.*)$ http://www.bar.com$1 [L,R=301]

答案 1 :(得分:0)

网络级解决方案: 1.将外部DNS指向www域的相同公共IP,以便两个域指向相同的IP。

例如。 www.abc.com - 111.111.111.111     adb.com - 111.111.111.111

答案 2 :(得分:0)

您无法在一个语句中重定向这两个版本。好吧,你可能“可以”,但这不是正确的方法。正确的方法是:

1)将旧域名从www重定向到非www版本(在属于域名的.htaccess文件中执行此操作)

2)将新域名从www重定向到非www版本(在属于域名的.htaccess文件中执行此操作)

3)将旧域的旧非www版本重定向到新域的新非www版本(在属于域的.htaccess文件中执行此操作)


所以这是演习:

1)这会将旧域名从www重定向到非www:

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

2)这会将新域名从www重定向到非www:

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

3)这会将旧域重定向到新域(两个非www版本):

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