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

我在1个网站上有几个子域名

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

我也为这些子域中的每一个注册了相同的域

 sub1.com sub2.com sub3.com 

我怎样才能设置它,以便当有人inputsub1.com域时,他们看到http://sub1.mysite.com的内容,但仍然看到sub1.com作为URL。 所以内容真的从http://sub1.mysite.com服务,没有游客知道这一点。

这是多层次的。

首先,您需要设置sub1.comCNAMElogging以指向sub1.domain.com 。 这是通过为sub1.com托pipeDNS的人完成的。 您应该更有可能在您的托pipe公司或您的域名注册商的控制面板添加此。

但是,所有这一切都告诉客户,您的网站sub1.com住在一个特定的IP地址(即在CNAME的情况下,它说,查找sub1.domain.com和sub1.com的IP在同一地点。)

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

对于Apache,你可能已经有了一个<VirtualHost>设置,所以你可以添加一个ServerAlias指令来告诉Apache VirtualHost同时也服务于sub1.com和sub1.domain.com

表示你已经有了你自己的configuration指令。

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

第三,也是最后一点,您需要确保您的网站不会在代码中redirect或引用sub1.domain.com(例如,通过PHPredirect标题,元标记刷新或HTML内的a href链接以将用户redirect到当前的域名)。

链接应该有没有域的绝对path,例如1和2

1。

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

2。

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

您需要将域指向子域的相同服务器,并使用您的主机控制面板将域设置为子域的别名。

ps在https://serverfault.com/上提问这些问题会给你更好的反馈,因为这是提问的地方&#x3002;

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

听起来像你想要一个“框架redirect”:

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