DNS redirect domain.com на www.domain.com

Я выполнил веб-поиск по этому вопросу, но полностью разочарован результатами. Дело в том, чтобы перенаправить все запросы на домен .com на субдомен www.domain.com.

Итак, что у меня есть:

  • www.domain.com - основной домен веб-сайта, все клиентские запросы должны быть перенаправлено здесь
  • domain.com - еще одна точка входа в веб-сайт для люди, не использующие префикс www, все запросы должны быть перенаправлены на www.domain.com
  • mydomain.com - альтернативный псевдоним сайта, все запросы должны быть перенаправлены на www.domain.com
  • www.mydomain.com - для людей, использующих префикс www, все запросы должны быть перенаправлены на www.domain.com

Я понимаю, что это возможно с использованием .htaccess и PHP. Но я хочу выяснить, как это можно сделать, используя только DNS. Я также понимаю, что результат DNS-запроса не изменяет того, что происходит на уровне HTTP, поэтому первоначально введенное имя домена всегда будет тем, которое было отправлено на веб-сервер в Host. Поэтому, чтобы переписать domain.com на www.domain.com, мне все равно потребуется Apache mod_rewrite. Но я хочу выполнять основную часть работы с DNS (записи CNAME и A).

Итак, главный вопрос заключается в том, что CNAME и A записывают каждый вышеперечисленный домен?

Ответ 1

Вы можете сделать www.domain.com запись A и все другие имена доменов CNAME на www.domain.com. Но это только "решает", что если IP-адрес www.domain.com изменяется, вам не нужно изменять другой DNS-канал, поскольку они являются псевдонимами.

Таким образом, на уровне DNS нет способа принудительного перенаправления. И по уважительной причине, потому что DNS используется для более чем только HTTP. Например, если весь запрос для domain.com будет перенаправлен на www.domain.com, ваши адреса электронной почты будут изменены на [email protected]

Итак, для перенаправления HTTP вам нужно будет использовать HTTP-решение. Это может быть на уровне веб-сервера (mod_rewrite, в коде, javascript (ugh) и т.д.), Но вы также можете иметь прокси перед вашим веб-сервером, чтобы справиться с этим.