2010-09-20 107 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將反映這一點。