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

subdomain.hostone.com --> subdomain.hosttwo.com

我添加了一条 CNAME 记录来托管一个指向 subdomain.hosttwo.com 的主机,但我得到的只是一个 '400 错误请求' 错误。

谁能看到我做错了什么吗?

有帮助吗?

解决方案

尝试将其更改为“子域名 -> subdomain.hosttwo.com”

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

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

其他提示

我认为有几个答案围绕着您的问题的可能解决方案。

我同意最简单的(也是 SEO 目的的最佳解决方案)是 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" ); 
?>

ASP 重定向:


<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://subdomain.hosttwo.com"
%>

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>

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

希望有帮助...

听起来 hosttwo.com 上的 Web 服务器不允许传递未定义的域。您还说您想要进行重定向,这实际上不是重定向的方法。如果您通过 GoDaddy 购买了此域名,您可能只想使用他们的重定向服务。

如今,许多网站所有者都在使用 CDN 服务,从 CDN 服务器提取数据。如果这是您的情况,那么您有两个选择:

  1. 通过添加 CNAME 记录创建子域并编辑 DNS

  2. 不要创建子域,而仅创建指向您的临时 DNS URL 的 CNAME 记录。

此解决方案仅意味着从 CDN 中提取代码,这将显示它正在从 cdn.sitename.com 获取数据,但实际上它是从您的 CDN 主机中提取的。

您只能将 DNS 名称绑定到不同的 IP 地址,因此,如果您使用的是虚拟主机,则通过 DNS 进行重定向将不起作用。

当您在浏览器中输入 subdomain.hostone.com 时,它将使用 DNS 获取其 IP 地址(如果是 CNAME,它将继续尝试,直到从 A 记录获取 IP),然后它将连接到该 IP 并发送 http 请求

Host: subdomain.hostone.com 

http 标头中的某处。

这可能是最好/最简单的设置 301重定向. 。无需 DNS 黑客攻击。

您可以通过多种非 DNS 方式来执行此操作。subdomain.hostone.com 的登陆页面可以有一个 HTTP重定向. 。hostone.com 的网络服务器可以配置为重定向(在 Apache 中很容易,不确定 IIS)等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top