如何使用 A 或 CNAME 记录将 siteA 重定向到 siteB [关闭]
-
08-06-2019 - |
题
我有 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 服务器提取数据。如果这是您的情况,那么您有两个选择:
通过添加 CNAME 记录创建子域并编辑 DNS
不要创建子域,而仅创建指向您的临时 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)等。