Гуру DNS: Как перенаправить www.domain.com на domain.com, используя только DNS?

Я веду блог на posterous.com, и они могут разместить мое доменное имя, если я создам запись A для их IP-адреса в настраиваемом DNS-инструменте моего регистратора доменов.

Проблема в том, что я хочу, чтобы мой домен ВСЕГДА читал domain.com, поэтому я хочу, чтобы мой DNS переназначал любые запросы с www.domain.com на domain.com, и я не могу использовать .htaccess, PHP или другие методы сервера. , поскольку это просто интерфейс блога.

Пока что я пробовал:

@ Target.ip.address
www CNAME domain.com

Что перенаправляет www.domain.com на нужный сайт, но www. все еще находится в домене. Я слышал, что ты умеешь:

@ Target.ip.address
www Внутренний.redirector.ip. адрес

но я не знаю внутреннего IP-адреса моего регистратора, который мог бы обрабатывать это перенаправление (или даже если такое действительно существует).

Можно ли сделать то, о чем я прошу?

Спасибо, ребята, молодцы.

-Джош

Ответов (3)

Решение

Нет, вы не можете сделать это с DNS - результат DNS-запроса не меняет того, что происходит на уровне HTTP, поэтому первоначально введенное доменное имя всегда будет тем, которое отправлено на веб-сервер в Host: заголовке.

Веб-браузеры ищут только A записи в DNS, и именно сервер рекурсивных имен интернет-провайдера пользователя определяет, что имя фактически имеет только CNAME запись, которую он затем просматривает и возвращает IP-адрес, соответствующий этому имени в CNAME записи.

Обычный gethostbyname() API C не возвращает приложению эту CNAME информацию, все, что он когда-либо получает, - это окончательный результирующий IP-адрес.

Чтобы достичь того, чего вы хотите, вам нужно организовать www.example.com отдельный хостинг от вашего блога, а затем сделать так, чтобы этот сайт выполнял HTTP-перенаправление на example.com (то есть без www префикса)

Я не уверен, что вы можете сделать это с помощью DNS, но я уверен, что вы можете сделать это с помощью некоторых уловок javascript в своем шаблоне блога. Т.е. фрагмент javascript, который запускается при каждой загрузке страницы, может проверять сервер текущей страницы и перезаписывать местоположение, если оно совпадает с www. приставка. Конечно, при загрузке, а затем перезагрузке страницы будет некоторое мерцание, и поисковые системы также будут игнорировать это перенаправление, поэтому ваш контент может отображаться под неправильным адресом в результатах поиска, но, по крайней мере, пользователи будут видеть правильный предполагаемый адрес. .

Альтернативный вариант: если ваш регистратор DNS дополнительно предоставляет бесплатную веб-службу, выполните перенаправление там, добавьте правило перезаписи, чтобы преобразовать путь запроса в аргумент сценария, и для каждого запроса сгенерируйте простую страницу с доступом к iframe. реальный контент. Это снова требует некоторого кода PHP, но это не должно быть слишком сложно.

Можно ли сделать то, о чем я прошу?

Нет, не с DNS.

Вы можете настроить что-то вроде интернет-магазина dyndns.com. Обычно вы указываете www.posterous.com на сервер dyndns, когда браузер подключается, он отправляет HTTP 302 перенаправление на нужный URL-адрес (posterous.com).

http://www.dyndns.com/services/webredirect/