Укажите корневой домен на поддомене другого домена верхнего уровня (через DNS, не маскируя)

Я нашел несколько похожих ответов на этот вопрос, но надеялся, что кто-нибудь сможет прояснить ситуацию на случай, если я неправильно понял. Это размещено на IIS 7 в ASP.NET

На моем сайте у меня есть корневые домены и домены www, идущие на мою домашнюю страницу:

  • example.com переходит на мою домашнюю страницу
  • www.example.com переходит на мою домашнюю страницу

У меня также есть перенаправление URL для моих пользователей:

  • user1.example.com переписывает example.com/Page.aspx?u=user1
  • user2.example.com переписывает example.com/Page.aspx?u=user2
  • и т.п.

Все они работают отлично, но я бы хотел, чтобы мои пользователи регистрировали свои собственные доменные имена, чтобы они указывали на их собственные сайты. Они будут контролировать эти имена, и я предоставлю учебное пособие о том, как их настроить. Я почти уверен, что смогу понять, как заставить CNAME работать на поддомене www, но я бы хотел, чтобы и корневой URL работал. Это возможно?

Мне бы хотелось:

  • userdomain1.com, чтобы указать на user1.example.com
  • www.userdomain1.com, чтобы указать на user1.example.com
  • userdomain2.com, чтобы указать на user2.example.com

Я мог бы использовать маскирование доменов, но не хотел бы, поскольку я хотел бы, чтобы домены работали как реальные доменные имена.

Можно ли это сделать каким-либо образом через DNS и / или кодирование? Спасибо!:)

2 ответа

Решение

Оставив здесь ответ для всех, кто заинтересован, так как кажется, что я получил это работает!

Что касается доменного имени пользователя, я проинструктирую его указать запись A на IP-адрес моего сайта. Я сделал это через @ host, но я думаю, что это можно сделать и с помощью * wildcard host.

Затем в своем файле Web.config я создал эту запись для модуля перезаписи IIS 7:

<rule name="UserDomain" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" negate="true" pattern="^(?:www\.)?example\.com$" />
    </conditions> 
    <action type="Redirect" url="http://www.example.com/Page.aspx?d={HTTP_HOST}" />
</rule>

По сути, это отрицательное правило регулярных выражений гласит, что любой домен, который указывает на этот хост, который не является основным доменом домена example.com, перенаправляет на страницу Page.aspx и передает имя домена в строке запроса. Это позволит мне искать в базе данных так, как мне нужно. Самое приятное в этом то, что это не маскировка домена и не переадресация домена. Это хорошо, чисто, совершенство DNS с небольшим количеством волшебства, чтобы заставить это работать.

Еще надо немного подправить, но так рада, что разобралась!:)

Если я вас правильно понимаю, вы не можете использовать запись CNAME так, как вы просите. Чтобы выполнить то, что вы пытаетесь сделать, вам нужно добавить записи A, указывающие на некоторые веб-серверы, которые будут выполнять перенаправления http для вас. Godaddy может перенаправить домен, как это для вас. Они называют это "пересылка без маскировки" в своей документации здесь:

http://help.godaddy.com/article/422

Другие вопросы по тегам