
У меня есть несколько поддоменов на одном сайте
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
Это своего рода многослойность.
Во-первых, вам нужно настроитьCNAMEзапись дляsub1.comуказать наsub1.домен.com. Это делается через того, кто размещает DNS для sub1.com. Скорее всего, у вас должна быть панель управления либо в вашей хостинговой компании, либо у вашего регистратора доменных имен, чтобы добавить это.
Однако все, что это делает, это сообщает клиентам, что ваш веб-сайт sub1.com находится по определенному IP-адресу (т. е. в случае CNAME, он говорит: «Найдите IP-адрес sub1.domain.com», а 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 href
не ссылается в HTML на перенаправление пользователя за пределы текущего домена).
Ссылки должны иметь абсолютные пути без домена, например 1, а не 2.
1.
<a href="/blah.html">Blah</a>
2.
<a href="http://sub1.domain.com/blah.html">Blah</a>
решение2
Вам необходимо, чтобы домены указывали на тот же сервер поддоменов, и с помощью панели управления хостингом установите домены в качестве псевдонимов для поддомена.
ps задаю эти вопросы наhttps://serverfault.com/дает вам гораздо более качественную обратную связь, поскольку именно там можно задавать такие вопросы.
решение3
Вам нужно будет добавить запись CNAME в вашу зону DNS. Однако вам может потребоваться скорректировать некоторые входы в ваш код, если он зависит от запрошенного хоста, потому что ваши скрипты не будут видеть sub1.mysite.com, а sub1.com, поэтому скорректируйте их соответствующим образом, чтобы обработать оба случая.
решение4
Похоже, вам нужна функция «переадресации фрейма»:
http://en.wikipedia.org/wiki/URL_redirection#Frame_redirects