如何从HttpContext(asp.net)获取“Host:”标头

时间:2009-10-28 17:08:25

标签: c# asp.net asp.net-mvc

我需要从不同的域中为我的部分应用程序提供服务。 确切地说,我有一个网站的子部分应该从特定于区域的域提供。例如:

  • / fr / *应该来自www.domain.fr
  • / uk / *应该来自www.domain.co.uk 等等。

我想创建一个路由条目,将具有错误域的请求重定向到正确的域。但我不知道如何从HttpContext访问http头信息。

欢迎任何帮助。

3 个答案:

答案 0 :(得分:17)

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"];

答案 1 :(得分:6)

HttpContext.Current.Request.Url.Host

答案 2 :(得分:3)

我想你想要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