如何将用户从一个域重定向到另一个域到特定页面

时间:2011-11-04 09:23:03

标签: .htaccess redirect dns cname

我有一个名为olddomain.com的域名。现在我想将DNS条目指向newdomain.com。我可以使用.htaccess确定用户是否来自olddomain.com并重定向到newdomain.com/path/welcomepage.html吗?

我找到了this并创建了类似

的内容
RewriteCond %{HTTP_HOST} ^http://www.olddomain.com/$ [NC]
RewriteRule ^path/welcomepage.html$ http://www.newdomain.com/$1 [R=301,L]

这是否有效(同时将A-record或CName-record指向newdomain.com)?

重定向应该是永久性的。那么我应该使用R = permanent,QSA,L,如here

编辑:

现在我尝试了Seybsen的线路以及以下的CName记录:

,典型值: CName记录
名称: www.olddomain.com。
TTL: 3600
Cname:newdomain.com。

但结果是(有和没有重定向)只显示来自newdomain.com提供商的广告。

1 个答案:

答案 0 :(得分:2)

我会这样做:

RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/path/welcomepage.html [R=301,L]

表示:当有人通过olddomain.com或www.olddomain.com访问您的网页时,他将被重定向到新域名的欢迎页面。

修改

如果你有可能为www.olddomain.com和olddomain.com设置A-Record,我会将它们都设置为newdomain的服务器IP。

域olddomain.com的CNAME为against DNS RFC,因此不建议;你只能在www.olddomain.com上设置它需要从olddomain.com到www.olddomain.com的重定向(例如使用.htaccess),然后通过CNAME指向www.newdomain.com 我假设www.olddomain.com和olddomain.com都应该显示newdomain.com的欢迎页面