Назад | Перейти на главную страницу

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

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

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

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

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

Я хотел бы:

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

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

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

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

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

Что касается доменного имени пользователя, я проинструктирую их указать запись 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 с небольшим количеством магии, чтобы заставить его работать.

Все еще нужно немного подправить, но я так рад, что понял это! :)