Можно ли настроить DNS-запись для перенаправления всех example.com/*
трафик в www.example.com/*
?
Я управляю Sinatra приложение на Heroku Кедровая стека.
Я настроил Аддон Heroku's Custom Domains, а в документации обсуждается Перенаправление трафика на определенный домен. Я также читал о том, как это сделать с Rack Rewrite. Однако мне интересно, есть ли способ сделать это через DNS, то есть без обращения к моему приложению.
Невозможно сделать то, что вы просите в DNS.
DNS просто преобразует имя хоста в IP-адрес, функции перенаправления отсутствуют.
Если вы хотите, чтобы пользователи использовали ваше приложение только через www.example.com, вам нужно будет сделать это в приложении, используя подсказку по перезаписи стойки, на которую вы ссылаетесь.
Предполагая, что вы согласны со сменой DNS-серверов, вы можете использовать Тип DNS "URL" DNSimple. Это решит вашу проблему на уровне DNS.
Об этом говорится в этом Статья Heroku об избежании голых доменов.
Если вы находитесь на heroku, самый простой способ - это домен с подстановочными знаками
heroku addons:add custom_domains:wildcard
Это перенаправит все поддомены * .example.com, включая www, на example.com.
Если у вас есть root-доступ к вашему серверу имен, вы должны добавить:
www IN A xxx.xxx.xxx.xxx
или
* IN A xxx.xxx.xxx.xxx
для подстановочного знака, где xxx.xxx.xxx.xxx - ваш IP, или
www IN A myapp.heroku.com.
* IN A myapp.heroku.com.
если у вас неизвестный / динамический IP
Короткий ответ: Укажите "голую" запись домена на 174.129.25.170
.
Длинный ответ: Wwwizer.com предлагает бесплатную службу переадресации. Он перенаправляет на любой домен, на который вы пытались перейти, просто добавляя «www». перед этим. FAQ есть на http://wwwizer.com/naked-domain-redirect для интересующихся подробностями.
Если вы используете Google Apps, у них есть функция, которая позволяет перенаправить ваш голый домен (http://example.com).
Вы просто добавляете их серверы как записи A в свой DNS.
Посмотрите в настройках домена на панели управления.
URL-адрес должен быть таким, как показано ниже. Просто замените example.com своим доменом.
https://www.google.com/a/cpanel/example.com/DomainSettingsDomains