Я хочу создать много виртуальных поддоменов, например, мой исходный сайт www.Test.com но я хочу, чтобы пользователи моего сайта могли открывать мой сайт с заданным шаблоном username.Test.com
Не могли бы вы помочь мне в этом вопросе?
В этой ситуации вам нужно сделать несколько вещей. Во-первых, вам нужно будет создать запись DNS с подстановочными знаками. Большинство программного обеспечения DNS-серверов позволяют создавать A
запись называется *
который вы можете направить на IP-адрес вашего веб-сервера. Это заставит DNS-сервер разрешить anything.example.com
на указанный IP-адрес. Если у вас есть другие имена хостов, например www.example.com
специально определенные, эти записи будут отменять подстановочный знак (т.е. подстановочный знак не отменяет ваши существующие записи или любую другую специально определенную запись).
Во-вторых, вам нужно будет настроить свой веб-сервер (я предполагаю, что IIS, поскольку вы пометили вопрос с помощью asp.net) с привязкой к тому же IP-адресу, который указан в записи DNS. Не указывайте имя хоста в этой привязке. Это заставит IIS перехватить любой запрос для этого IP-адреса, который не привязан конкретно к другой записи веб-сайта по его комбинации IP / имени (опять же, у вас может быть сайт, привязанный к тому же IP-адресу с определенными именами хостов, которые переопределят это) .
Затем в коде вашего приложения вам нужно будет обработать входящий запрос, просмотрев переменные, поступающие с сервера, в частности SERVER_NAME
или HTTP_HOST
серверные переменные, поскольку они будут содержать имя хоста, к которому пользователь пытается получить доступ. Затем код будет ссылаться на это имя хоста обратно на учетную запись пользователя и обслуживать соответствующий контент для рассматриваемого имени хоста.