如何使用A或CNAME记录将siteA重定向到siteB

Pet*_*ton 44 dns cname web-hosting

我有2个主机,我想将主机1上的子域指向主机2上的子域:

subdomain.hostone.com --> subdomain.hosttwo.com
Run Code Online (Sandbox Code Playgroud)

我添加了一个CNAME记录来托管一个指向subdomain.hosttwo.com的记录,但我得到的是' 400 Bad Request '错误.

谁能看到我做错了什么?

Eri*_*ard 13

尝试将其更改为"subdomain - > subdomain.hosttwo.com"

CNAME是某个域的别名,因此当您转到hostone.com的控制面板时,您不必将所有名称输入CNAME别名.

至于你得到的错误,你可以登录subdomain.hostwo.com并检查日志吗?

  • @Elankeeran URL重定向可以附加路径 - CNAMES只能由完整域组成.例如.URL重定向子域(例如``www`)到<Protocol> <[SubDomain.] Domain.TLD> [/ Path [/ ...]](例如`https:// www.example.com/sites/xyz` )作为CNAME子域(例如`www`)到<[SubDoman.] Domain.TLD>(例如`ghs.google.com`) (2认同)

Bri*_*son 11

我认为有几个答案可以解决您的问题.

我同意最简单的(最好的搜索引擎优化解决方案)是301重定向.在IIS中,这是相当简单的,您可以为subdomain.hostone.com创建一个站点,在创建站点后,右键单击该站点并进入属性.单击打开的站点属性窗口的"主目录"选项卡.选择单选按钮"重定向到URL",输入新站点的URL(http://subdomain.hosttwo.com),并选中"上面输入的确切URL"复选框,"此处的永久重定向"资源"(第二个复选框导致301重定向,而不是302重定向).单击"确定",即可完成.

或者您可以使用以下方法之一在http://subdomain.hostone.com网站上创建页面(取决于托管平台支持的内容)

PHP重定向:


<?
Header( "HTTP/1.1 301 Moved Permanently" ); 
Header( "Location: http://subdomain.hosttwo.com" ); 
?>
Run Code Online (Sandbox Code Playgroud)

ASP重定向:


<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://subdomain.hosttwo.com"
%>
Run Code Online (Sandbox Code Playgroud)

ASP .NET重定向:


<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://subdomain.hosttwo.com");
}
</script>
Run Code Online (Sandbox Code Playgroud)

现在假设您的CNAME记录已正确创建,那么您遇到的唯一问题是为http://subdomain.hosttwo.com创建的网站正在使用共享IP和主机标头来确定应显示哪个站点.要在IIS下解决此问题,请在Web服务器上的IIS管理器中右键单击subdomain.hosttwo.com的站点,然后单击"属性".在显示的"网站"选项卡上,您应该看到要单击的IP地址旁边的"高级"按钮.在出现的"高级网站标识"窗口中,单击"添加".选择subdomain.hosttwo.com已使用的相同IP地址,输入80作为TCP端口,然后输入subdomain.hosttwo.com作为Host Header值.单击确定,直到返回主IIS管理器窗口,您应该很高兴.打开浏览器,然后浏览到http://subdomain.hostone.com,你就是'即使您的网址显示http://subdomain.hostone.com,也会显示

希望有帮助......

  • @UncleNinja:虽然PHP定义了header()函数为全部小写(这是它应该如何在代码中使用),PHP语言是不区分大小写在这方面,所以`头()`仍然工作确定. (2认同)