【问题标题】:Wrong host returned using HttpContext.Current.Request.Url.Host使用 HttpContext.Current.Request.Url.Host 返回了错误的主机
【发布时间】:2010-09-20 09:01:15
【问题描述】:

我们的一个网站有多个域。

例如mydomain-uk.com 和 mydomain.co.uk

我有一个创建 XML 站点地图的处理程序,它使用 HttpContext.Current.Request.Url.Host 检索主机站点。

当我的浏览器在 mydomain.co.uk/handler 上时,它会检索 mydomain-uk.com 作为主机

如何确保它始终检索 mydomain.co.uk ?

是否在服务器某处配置了偏好顺序?

【问题讨论】:

    标签: c# asp.net url host


    【解决方案1】:

    主机是从请求上的URL获取的,这是合乎逻辑的,你不能改变这个。

    要解决此问题,请使用您的 URL 名称创建一个静态变量,最好将其放在您的 web.config 中,并且只获取此变量而不是 Url.Host

    希望有帮助

    【讨论】:

      【解决方案2】:

      不要将所有域都指向网站。让额外的域执行 301 重定向到主域名。这也将有助于解决搜索引擎在尝试解析您的网站时对哪个网站是您的内容的原始来源的混淆,并防止来自其他网站的入站链接使用混合域,这只会加剧问题。

      【讨论】:

        【解决方案3】:

        不要忘记 HttpContext.Current.Request.Url.Host 只会返回发生时请求的任何 HOST。如果客户端请求其他内容,HttpContext.Current.Request 将反映这一点。

        【讨论】:

          猜你喜欢
          • 2012-10-27
          • 1970-01-01
          • 1970-01-01
          • 2022-01-24
          • 2019-06-26
          • 1970-01-01
          • 2022-11-10
          • 2019-06-15
          • 1970-01-01
          相关资源
          最近更新 更多