Как создать этот тип субдомена на лету, как Blogger.com

Некоторое время назад я задавал этот вопрос, и мне сказали, что запись должна быть сделана в DNS и т. д. Я не был уверен, действительно ли все это требуется или нет. Тип функции, которую я ищу, показан на скриншоте ниже:

введите здесь описание изображения

Как видите, blogger позволяет пользователю выбрать поддомен для своего блога. Как мы можем этого добиться? Я в основном разрабатываю asp.net С#. Как я могу разрешить своим пользователям выбирать такие поддомены, если у меня есть домен верхнего уровня. В настоящее время я разрабатываю на локальном хосте.


person TCM    schedule 10.07.2011    source источник


Ответы (2)


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

В asp.net: создайте HttpModule... он будет выполняться для каждого запроса, и вы сможете проверить доменное имя и т. д. и получить информацию о пользователе на основе поддомена. Пример httpmodule можно найти по адресу Перезапись URL в ASP.NET через HttpModule.

В asp.net mvc: создайте собственный RouteHandler (пользовательский на основе интерфейса IRouteHandler). Посмотрите на вопрос RouteHandler vs ControllerFactory в качестве примера.

person bbqchickenrobot    schedule 10.07.2011
comment
Как добавить сопоставление DNS с подстановочными знаками в IIS 7.5? Я имею в виду статью http://www.purpleant.com/Blogs/BrianSwanson/tabid/64/EntryId/144/Wildcard-sub-domain-for-Microsoft-IIS-and-DNS.aspx, но она относится к IIS 6. Как я могу сделать это в IIS 7.5? - person TCM; 10.07.2011
comment
learn.iis.net /page.aspx/508/ - person bbqchickenrobot; 11.07.2011
comment
Это также можно сделать без написания HttpModule с помощью IIS UrlRewrite 2.0. Вы устанавливаете формат своего URL-адреса в web.config, а затем можете получить доступ к этому значению через строку запроса. - person Snives; 21.07.2011
comment
К сожалению, первая ссылка кажется мертвой, получая ошибку 404. - person Steve Jones; 03.09.2017
comment
Да, кажется, что ссылка мертва. Но не бойтесь — у MS есть информация и об этом: msdn.microsoft.com/ en-us/library/bb398986.aspx - person bbqchickenrobot; 03.09.2017

Вам нужно добавить сопоставление DNS с подстановочными знаками, которое сопоставляет *.example.com с вашим веб-сервером, и сопоставление имен хостов с подстановочными знаками, указывающее IIS отправлять все поддомены на ваш веб-сайт ASP.Net.

Затем вы можете проверить Request.Hostname в коде на стороне сервера и использовать соответствующий контент (или сообщение об ошибке)

person SLaks    schedule 10.07.2011
comment
Как добавить сопоставление DNS с подстановочными знаками в IIS 7.5? Я имею в виду статью http://www.purpleant.com/Blogs/BrianSwanson/tabid/64/EntryId/144/Wildcard-sub-domain-for-Microsoft-IIS-and-DNS.aspx, но она относится к IIS 6. Как я могу сделать это в IIS 7.5? - person TCM; 10.07.2011