Как получить заголовок «Host:» из HttpContext (asp.net) - PullRequest
10 голосов
/ 28 октября 2009

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

  • / fr / * должно быть подано с www.domain.fr
  • / uk / * должен быть serverd с www.domain.ru и т. д.

Я хотел бы сделать запись маршрута, которая перенаправит запрос с неправильного домена на правильный домен. Но я не знаю, как получить доступ к информации http заголовка HttpContext.

Любая помощь приветствуется.

Ответы [ 3 ]

17 голосов
/ 28 октября 2009
string requestedDomain = HttpContext.Current.Request.ServerVariables["HTTP_HOST"];
string requestScheme = HttpContext.Current.Request.Url.Scheme;
string requestQueryString = HttpContext.Current.Request.ServerVariables["QUERY_STRING"];
string requestUrl = HttpContext.Current.Request.ServerVariables["URL"];
6 голосов
/ 28 октября 2009

HttpContext.Current.Request.Url.Host

3 голосов
/ 21 июля 2013

Я думаю, что вы хотите Request.Headers ["host"]

обновление: согласно этой статье, вы должны быть осторожны с некоторыми из них, поскольку они будут давать неожиданные результаты:

http://blogs.msdn.com/b/asgoyal/archive/2012/09/11/one-thing-you-must-do-when-request-url-host-is-returning-an-unexpected-result.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...