Разобрать поддомен на localhost - PullRequest
0 голосов
/ 19 июля 2011

Настройка

Я создаю приложение с использованием ASP.NET MVC3, приложение использует дочерние домены, я добавил следующее в свой файл hosts: 127.0.0.1 students.localhost.

Все это выглядит нормально, когда я отлаживаю, браузер открывается localhost:{PORT}, я могу просматривать сайт, я также могу открыть: students.localhost:{PORT}, и сайт работает отлично.

Если вам было интересно, я использовал: Код Мартена Баллиау для выполнения требований маршрутизации в MVC и поддоменах

Проблема

Мне нужно как-то выяснить, с какого субдомена пользователь получает доступ к сайту.Если я отлаживаю, мой и перейти на мой поддомен: http://students.localhost:{PORT} Request.Url: http://localhost:{PORT}, по какой-то причине отладчик (или сервер разработки ASP.NET) не получает students.

Пожалуйста, не входите в обсуждение TLD, пытаясь объяснить, что такое поддомен, все, что мне нужно, это первая строка после http://.в локальном и производственном режимах это будет мой поддомен.

Спасибо заранее


ОБНОВЛЕНО: Мне удалось получить желаемый результат, используя: Request.Headers["host"], было бы интересно узнать, почему Request.Url не содержит подстроку students.

Ответы [ 2 ]

2 голосов
/ 20 июля 2011

Простой способ сделать это - поместить полное имя домена в хосты. Если рабочим сайтом является subdomain.domain.com, я хотел бы использовать subdomain.domain.local и просто сопоставить его с 127.0.0.1.

0 голосов
/ 19 июля 2011
new System.Uri(Request.RawUrl).Host

Я думаю, что это будет реальное имя хоста.

...