该域名提供来自另一个网站的子域名的内容

该域名提供来自另一个网站的子域名的内容

我的 1 个网站上有多个子域名

http://sub1.mysite.com
http://sub2.mysite.com
http://sub3.mysite.com

我还为每个子域名注册了等效域名

sub1.com
sub2.com
sub3.com

我该如何设置,以便当有人输入域名时sub1.com,他们会看到来自的内容http://sub1.mysite.com,但仍然看到的sub1.com是 URL。因此内容实际上是从提供的,http://sub1.mysite.com而访问者却不知道这一点。

答案1

这是一种多层次的。

首先,你需要设置一个别名记录记录sub1.com指向sub1.域名.com。此操作通过托管 sub1.com 的 DNS 的任何人完成。您很可能应该在托管公司或域名注册商处有一个控制面板来添加此功能。

然而,这一切都是告诉客户您的网站 sub1.com 位于某个 IP 地址(即,在 CNAME 的情况下,它会说查找 sub1.domain.com 的 IP 并且 sub1.com 位于同一位置。)

其次,您需要告诉您的网络服务器,sub1.com 和 sub1.domain.com 是同一个网站。

对于 Apache,你可能已经有一个<VirtualHost>设置,因此你需要添加服务器别名指令告诉 Apache VirtualHost 还为 sub1.com 以及 sub1.domain.com 提供服务

...表示您这里已经有自己的配置指令。

<VirtualHost ...>
    ServerName sub1.domain.com
    ServerAlias sub1.com
    ...
</VirtualHost>

第三,也是最后一点,您需要确保您的网站不会在代码中重定向或引用 sub1.domain.com(即通过 PHP 进行标头重定向、元标记刷新或a hrefHTML 内的链接将用户重定向到当前域之外)。

链接应该有不带域名的绝对路径,例如 1 而不是 2

1.

<a href="/blah.html">Blah</a>

2.

<a href="http://sub1.domain.com/blah.html">Blah</a>

答案2

您需要让域名指向子域名的同一服务器,并使用托管控制面板将域名设置为子域名的别名。

附言:问这些问题https://serverfault.com/会给你更好的反馈,因为那是提出此类问题的地方。

答案3

您需要将 CNAME 条目添加到您的 DNS 区域。但是,如果代码依赖于请求的主机,您可能需要调整代码中的某些登录信息,因为您的脚本将看不到 sub1.mysite.com,而是 sub1.com,因此请相应地调整它们以处理这两种情况。

答案4

听起来你想要一个“帧重定向”:

http://en.wikipedia.org/wiki/URL_redirection#Frame_redirects

相关内容