Укажите корневой домен на поддомене другого домена верхнего уровня (через 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 может перенаправить домен, как это для вас. Они называют это "пересылка без маскировки" в своей документации здесь: