我有2个域名托pipe不同的主机。 我需要将域Aredirect到域B.不幸的是,我不能从主机A执行301redirect,但只能在主机A上修改/添加DNS条目(A-Records和CNAME)。
当然有可能只使用Alogging和CNAME将www.DomainA.comredirect到www.DomainB.com?
目前,DNS条目是:
DomainA.com. 3600 IN SOA ns1.HostA.net. www 3600 IN CNAME www.DomainB.com. DomainA.com. 3600 IN NS ns1.HostA.net. DomainA.com. 3600 IN NS ns2.HostA.net. DomainA.com. 3600 IN NS ns3.HostA.net.
我想redirect
DomainA.com -> DomainB.com *.DomainA.com -> *.DomainB.com
我试过这个post的build议,但没有奏效。
我只能用A-Records和CNAME来实现这个function吗? 感谢您的build议。
Prembo。
所以你不是在寻找redirect(就像发生在应用程序级别,即在apache / nginx /任何地方),而是在DNSparsing – 在其上托pipeDomainA的主机将或根本不应该命中 – 根据您的描述您希望将DNS请求parsing为DomainB的IP。 除非我在你的要求中遗漏了什么?
正如Shane所指出的那样,DNS不具备HTTPredirect能力 – 这是一个应用程序/networking服务器的职责。 你可以让DomainA和DomainBparsing到DNS上的同一个IP,并且都可以工作。但是如果你打算按照URL / per-path的方式来做这个,那么这是不可能的 – DNS是不可能的 – 这是一个简单的DNS-> IP服务,实际的URL发生了什么是networking服务器的任务。
好的,所以在下面的评论之后…我要做的就是将DomainA的所有DNSlogging都指向与DomainB指向的IP相同的IP地址 – 这样,您将获得HTTP请求击中hostB,然后它只是一个简单的事情:
这将重写任何来自DomainB的可以托pipe在同一台服务器或其他地方的DomainA的内容。 我明白,第二个选项可能是一个开销,如果你可以允许在apache上创build基于名字的虚拟主机,那么这个选项是不必要的。
<VirtualHost *:80> ServerName DomainB Redirect permanent / http://DomainA/ </VirtualHost>
我会去a) – 将DomainA的所有DNSlogging指向与DomainB指向的相同的IP(s),并在apache上创build特定的基于名称的虚拟主机
正如其他人所说,单独使用DNS执行HTTPredirect是不可能的。 DNS和HTTP一起工作,将用户从一个网页redirect到另一个网页。
您可以使用DNS自身使域A显示与域B相同的内容,但是Web浏览器将在URL中显示域A. 你需要非常小心,因为从search引擎优化的angular度来看,这是非常糟糕的。 你会因为“重复的内容”而陷入困境,search引擎会惩罚你。
正确的(从用户体验和search引擎优化的angular度来看)使得这项工作的方法是执行从域A到域B的HTTPredirect。
如果技术上能够,您可以手动configuration您的Web服务器(Apache,Nginx,IIS等)为您完成这项工作。 有很多很好的资源来帮助networking。
如果您不能或不想控制基础结构,则可以使用URLredirect服务为您执行此项工作。 我是一个名叫EasyRedir的创始人,但也有其他人。
域A需要与域B具有相同的IP地址。在A的定义中不需要任何对B的引用。 Web浏览器不会“跟随”CNAME作为redirect,它们将保持相同的主机名,并使用CNAME自己的logging来parsingIP地址。
如果您希望B在访问A时出现在浏览器中(可选且与DNS无关),则需要匹配HTTP主机并redirectWeb服务器上的请求。 与Apache,你可以使用mod_rewrite在虚拟主机定义中这样做:
RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?domainB.com$ RewriteRule ^/(.*)$ http://www.domainA.com/$1 [R=301,L]
当然可以用以下技巧redirect:
空白…………………..一个……………………. … IP-地址-2
WWW …………………….一个………………….. ….. IP的地址-2
本质上,我们在这里是redirect。 有效的URL将根据现有的DNS主DNS区域进行parsing。 一个虚构的URL将被redirect到ip-addr-2。 重要的是,这个条目的名称是空白的,所以它会下降到logging中的下一个条目,并redirect到ip-addr-2
我没有尝试过,但我认为你可以这样做:
DomainA.com. CNAME DomainB.com.
这完全取决于DomainA区域文件中的任何其他logging。 没有SOA,什么都没有。
不要在您关心工作的域名上尝试。