У меня есть 2 домена, размещенные на разных хостах. Мне нужно перенаправить домен A в домен B. К сожалению, я не могу выполнить перенаправление 301 с хоста A, но могу только изменять / добавлять записи DNS (записи A и CNAME) на хосте A.
Конечно, можно перенаправить www.DomainA.com на www.DomainB.com, используя только A-записи и CNAME?
В настоящее время DNS-записи:
DomainA.com. 3600 IN SOA ns1.HostA.net.
www 3600 IN CNAME www.DomainB.com.
DomainA.com. 3600 IN NS ns1.HostA.net.
DomainA.com. 3600 IN NS ns2.HostA.net.
DomainA.com. 3600 IN NS ns3.HostA.net.
Я хочу перенаправить
DomainA.com -> DomainB.com
*.DomainA.com -> *.DomainB.com
Я попробовал предложение из этого другого поста, но это не сработало.
Как мне добиться этого только с помощью A-Records и CNAME, пожалуйста? Спасибо за совет.
Prembo.
Ответы:
Таким образом, вы смотрите не на перенаправление как таковое (как это происходит на уровне приложения, то есть на Apache / Nginx / где угодно), а скорее на разрешение DNS. Хост, на котором размещен DomainA, будет или не должен попадать в зависимости от вашего описания, поскольку вы хотите, чтобы запросы DNS были разрешены для IP-адресов DomainB. Если я не пропустил что-то в вашем запросе?
Как отметил Шейн, DNS не способен к перенаправлению HTTP - это обязанность приложения / веб-сервера. Вы можете заставить DomainA и DomainB разрешать один и тот же IP в DNS, и все будет работать. Но если вы хотите сделать это для каждого URL / пути, то это невозможно - DNS на это не способен - это простая служба DNS-> IP, то, что происходит с реальным URL, является задачей веб-сервера.
После комментария, приведенного ниже, я хотел бы отнести все записи DNS для DomainA к тем же IP-адресам, на которые указывает DomainB - таким образом, вы получите HTTP-запрос, поражающий hostB, и тогда это будет просто:
Это перезапишет все, что приходит в DomainB, в DomainA, которое может быть размещено на том же сервере или где-то еще. Я ценю, что второй вариант, вероятно, является дополнительным и не обязателен, если вы можете / можете создавать виртуальные хосты на основе имен на apache.
Я бы пошел с 1. - Укажите все DNS-записи DomainA на тот же IP-адрес, на который указывает DomainB, и создайте особые виртуальные хосты на основе имен в Apache.
источник
domain B
в существующий виртуальный хост дляdomain A
?Как уже говорили другие, невозможно выполнить перенаправление HTTP только с DNS. DNS и HTTP работают вместе, чтобы перенаправить пользователя с одной веб-страницы на другую.
Вы можете использовать DNS самостоятельно, чтобы домен A показывал то же содержимое, что и домен B, но веб-браузер будет отображать домен A в URL. Вы должны быть очень осторожны с этим, так как это довольно плохо с точки зрения SEO. У вас будут проблемы с «дублированным контентом», и поисковые системы накажут вас за это.
Правильный (с точки зрения UX и SEO) способ выполнить эту работу - выполнить HTTP-перенаправление с домена A на домен B.
Вы можете вручную настроить свои веб-серверы (Apache, Nginx, IIS и т. Д.), Чтобы выполнить эту работу за вас, если у вас есть техническая возможность. Есть много хороших ресурсов, чтобы помочь с этим в Интернете.
Если вы не можете или не хотите контролировать инфраструктуру, вы можете использовать службу перенаправления URL-адресов, чтобы выполнить эту работу за вас. Я являюсь основателем компании EasyRedir , но есть и другие.
источник
Домен A должен иметь те же IP-адреса, что и в домене B. Нет необходимости в какой-либо ссылке на B в определении A. Веб-браузеры не «следуют» за CNAME в качестве перенаправления, они сохраняют то же имя хоста и используют собственную запись CNAME для преобразования в IP-адрес.
Если вы хотите, чтобы B отображался в браузере при посещении A (необязательно и не связано с DNS), вам необходимо сопоставить HTTP-хост и перенаправить запросы на веб-сервер. с Apache вы бы использовали mod_rewrite, чтобы сделать это следующим образом в определении виртуального хоста:
источник
Конечно, можно перенаправить с помощью следующего трюка:
пустой ....................... ......................... ... IP-адр-2
WWW ......................... ....................... ..... IP-адр-2
По сути, мы имеем здесь перенаправление. Действительный URL будет разрешен в зависимости от существующей первичной DNS-зоны DNS. Придуманный URL будет перенаправлен на ip-addr-2. Что важно, так это то, что имя этой записи не заполнено, поэтому оно будет переходить к следующей записи в записи и перенаправлять на ip-addr-2.
источник
Я не пробовал это, но я думаю, что вы можете сделать это:
Это вместо любых других записей в файле зоны DomainA вообще. Нет SOA, ничего.
Не пытайтесь сделать это на домене, который вам небезразличен.
источник
CNAME
записи на доменах типа «голый» / «апекс», напримерdomain.com
, но вы можете размещать их на таких поддоменах, какwww.domain.com