将一个域redirect到一个pipe理多个域的新服务器

我想将一个域(old.com)转发到位于另一个服务器上的另一个域(new.com)。 问题是,这个新的服务器已经承载了2个域(new.com和other.com),并且redirect实际上被redirect到这个新服务器上的其他域(other.com)。

在old.com的DNS上,我创build了一个从“www”到“new.com”的CNAMElogging。

我还需要做些什么才能使old.comredirect到new.com而不是other.com?

干杯,
尼古拉斯。

您可以将ServerAlias添加到new.com vhost文件中: http ://httpd.apache.org/docs/2.2/mod/core.html#serveralias

我假设other.com是服务器select的默认域。

编辑

你可以看到你的Apache服务的虚拟主机列表,以及默认使用哪一个

apachectl -S 

如果默认值是'other.com',那么确定去CNAME指示的那个在new.com虚拟主机中没有正确configuration的请求将直接指向默认虚拟主机。

编辑2添加了重写代码。

一旦确定ServerAlias设置正确,并且来自“www.old.com”的请求正在为来自“new.com”的文件提供服务,则可以确保www.old.com上的所有stream量均正确301-在vhost文件(或.htaccess)中使用以下代码(假定您已启用mod_rewrite)redirect(简单来说:浏览器中的URL更改,search引擎知道这是永久更改):

 <IfModule mod_rewrite.c> RewriteEngine On # START DOMAIN REDIRECTS RewriteCond %{HTTP_HOST} ^www\.old\.com$ [NC] RewriteCond %{HTTP_HOST} !^$ RewriteRule ^/(.*) http://new.com/$1 [R=301,L] # END DOMAIN REDIRECTS </IfModule>