[英]to domains point to same host… change domain 1 requests to domain 2
我有兩個域:www.Domain1.com和www.Domain2.com,它們指向同一主機(名稱服務器)。
我最終將逐步淘汰www.domain1.com,但現在需要它。 我在www.domain2.com上有SSL設置。
如果用戶請求http://www.domain1/About,我想將其路由到。
換句話說,我希望對第一個域的每個請求都轉到第二個域,因為我稍后將逐步淘汰#1,並且我僅在#2上具有SSL。
不知道如何去做。
使用HTTP重定向。
這是IIS 7的說明: https : //technet.microsoft.com/zh-cn/library/cc732969(v=ws.10).aspx
如果您需要保留查詢字符串,這有點違反直覺。 不要使用相對的目標,而要使用確切的目標,然后添加$ V $ Q。
因此,使用您的示例,您將配置服務於來自www.domain1.com的請求的站點,並將HTTP重定向設置為https://www.domain2.com $ V $ Q的確切目標。
以這種方式進行設置的示例: https : //msftplayground.com/2011/01/http-redirect-with-query-string-in-iis-7/
只是有關我最終如何執行此操作的更新。
1)我與我的主機設置一個域指針。 Domain1.com指向Domain2.com(都指向相同的主機位置)
2)由於我在Domain2.Com上進行了SSL設置,因此我在Global.asx.cs中設置了Aplplication_BeginRequest以將URL從Domain1.com調整為Domain2.com。 它也強制使用SSL。 這將立即路由到Domain2.com,並使SSL保持滿意狀態。
參見下面的代碼:
protected void Application_BeginRequest(object sender, EventArgs e)
{
string currentUrl = HttpContext.Current.Request.Url.ToString().ToLower();
if (currentUrl.StartsWith("http://domain1.net"))
{
string newUrl = Request.Url.AbsoluteUri.Replace("http://domain1.net", "https://domain2.net");
Response.Redirect(newUrl);
}
else if (currentUrl.StartsWith("https://domain1.net"))
{
string newUrl = Request.Url.AbsoluteUri.Replace("https://domain1.net", "https://domain2.net");
Response.Redirect(newUrl);
} else if (currentUrl.StartsWith("http://www.domain1.net"))
{
string newUrl = Request.Url.AbsoluteUri.Replace("http://www.domain1.net", "https://domain2.net");
Response.Redirect(newUrl);
}
else if (currentUrl.StartsWith("https://www.domain1.net"))
{
string newUrl = Request.Url.AbsoluteUri.Replace("https://www.domain1.net", "https://domain2.net");
Response.Redirect(newUrl);
}
}
其他對我有幫助的帖子:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.