DNS域名转发

如何设置一个域通过DNS或Apache转发到另一个域?

DNS不知道redirect是什么,它只知道如何通过使用规范名称或IP将域分配给给定的IP。

所以第一步是为你想在DNS中redirect到apache服务器IP的域名创build一个名称:

假设你的apache服务器ip是10.0.0.1,所以在你想要redirect的域的DNSlogging中需要有以下条目:

domain.com. IN A 10.0.0.1 www IN CNAME domain.com. 

重新启动/重新加载您的DNS服务器,使更改适用。


如果你想redirect的域名被托pipe在同一个服务器上,那么在apache服务器上就变得很简单了,你所要做的就是在ServerAlias的例子中添加域名:

 <VirtualHost *:80> ServerName mymaindomain.com ServerAlias myredirecteddomain.com myotherredirecteddomain.com DocumentRoot /www/domain/public_html </virtualhost> 

如果目标域不在同一台服务器上,则可以执行以下操作:

 <VirtualHost *:80> ServerName myredirecteddomain.com ServerAlias www.myredirecteddomain.com myotherredirecteddomain.com www.myotherredirecteddomain.com Redirect permanent / http://www.redirecteverythinghere.com/ </virtualhost> 

另一个select是使用.htaccess,如果给定的域名已被redirect到您的主域名:

 RewriteEngine on rewritecond %{http_host} ^long-name.com [nc] rewriterule ^(.*)$ http://www.short-name.com/$1 [r=301,nc] 

如果该网站将提供您要转发的域的请求,只需创build一个DNS CNAMElogging从转发域到目标域名。

如果该站点是基于名称的虚拟主机,则可能还需要将转发的域名作为ServerAlias添加到VirtualHost部分。

如果要转发域,请将DNS Alogging设置为转发到服务器。 你应该有一个域名的MXlogging。 它应该指向一个处理你的邮件的服务器,尤其是对于[email protected]

在Apache中,按照Prix给出的选项使用短域名来做redirect。 以下重写规则集将把请求从短域转发到长域。 long-domain.com不需要与短域名服务器托pipe在同一台服务器上。 使用适当的域名。 如果您省略了RewriteCond语句,则所有匹配的请求都将被redirect。

RewriteEngine On RewriteCond%{HTTP_HOST} short-domain.com $ [NC] RewriteRule ^(。*) http://long-domain.com $ 1 [L,R = 301]

这些规则通常会放在VirtualHost定义中。