2010-09-20 106 views
1

我们有一个网站的多个域名。错误的主机返回使用HttpContext.Current.Request.Url.Host

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

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

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

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

在服务器上的某处是否配置了首选项顺序?

回答

1

主持人从请求的URL中获取它,这是合乎逻辑的,你不能改变它。

为了解决这个问题,创建一个静态变量与您的网址名称,甚至更好的把它放在你的web.config,只是得到这个变量,而不是Url.Host

希望这有助于

0

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

0

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