代码之家  ›  专栏  ›  技术社区  ›  Piotr Czapla

如何从httpContext(asp.net)获取“主机:”头

  •  10
  • Piotr Czapla  · 技术社区  · 15 年前

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

    • /fr/*应通过www.domain.fr提供。
    • /UK/*应该从www.domain.co.uk服务器 等等。

    我想做一个路由条目,将错误域的请求重定向到正确的域。但我不知道如何从httpcontext访问HTTP头信息。

    欢迎任何帮助。

    3 回复  |  直到 9 年前
        1
  •  17
  •   Aaron    15 年前
    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"];
    
        2
  •  7
  •   Brunno    9 年前

    HttpContext.Current.Request.Url.Host

        3
  •  3
  •   Brady Moritz    11 年前

    我想你需要请求。标题[“主机”]

    更新:根据本文,您必须小心处理其中的一些内容,因为它们将返回意外的结果:

    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