Как создать этот тип субдомена на лету, как Blogger.com - PullRequest
8 голосов
/ 10 июля 2011

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

enter image description here

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

Заранее спасибо:)

Ответы [ 2 ]

6 голосов
/ 10 июля 2011

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

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

In asp.net mvc : создание настраиваемого RouteHandler (настраиваемого на основе интерфейса IRouteHandler).Посмотрите на RouteHandler vs ControllerFactory вопрос для примера.

3 голосов
/ 10 июля 2011

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

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

...