我在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.com的CNAMElogging以指向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/上提问这些问题会给你更好的反馈,因为这是提问的地方。
您需要将CNAME条目添加到您的DNS区域。 但是,如果您的代码依赖于请求的主机,您可能需要在代码中调整一些login名,导致您的脚本不会看到sub1.mysite.com,而是看到sub1.com,因此请相应地调整它们以处理这两种情况。
听起来像你想要一个“框架redirect”:
http://en.wikipedia.org/wiki/URL_redirection#Frame_redirects