使用HttpContext.Current.Request.Url.Host返回错误的主机

时间:2010-09-20 09:01:15

标签: c# asp.net url host

我们的某个网站有多个域名。

e.g。 mydomain-uk.com和mydomain.co.uk

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

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

我怎样才能确保它始终检索mydomain.co.uk?

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

3 个答案:

答案 0 :(得分:1)

主机是从请求的URL获取的,这是合乎逻辑的,你无法改变它。

要解决此问题,请使用您的网址名称创建一个静态变量,最好将其放在您的web.config上,然后获取此变量而不是Url.Host

希望这个帮助

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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