2016-01-22 45 views
0

我不確定這是否可以在代碼中實現,或者是否需要在ISS中應用此規則。僅在SSL請求時重定向到另一個域MVC

基本上我有三個結構域:

domain1.co.uk > redirects to .com 
domain1.com > Primary domain registered with SSL 
domain1.ie > I want to redirect this to .com based on SSL request 

我已經配置我的MVC應用程序,以顯示基於域相對含量。因此,如果請求來自.ie地址,那麼我可以顯示相關的內容/元數據等。但是,我的問題是,當我訪問/帳戶/ HTTPS下登錄時,我得到一個SSL錯誤,因爲證書註冊在。 com域名。

我真的很想保留HTTP靜態網站的.ie綁定並將其索引到Google,但只要用戶嘗試導航到HTTPS,我想切換到.com域。

我明白我可以改變整個網站的鏈接做到這一點,我也沒有試過無濟於事以下:

protected void Application_BeginRequest() 
{ 
    if(Context.Request.IsSecureConnection && Context.Request.Url.ToString().Contains("domain1.ie")) 
     Response.Redirect(Context.Request.Url.ToString().Replace("domain1.ie", "domain1.com")); 
} 

任何人都可以幫助?

回答

0

問題是,即使重定向到位,瀏覽器也必須首先訪問.ie域上的SSL站點,以便Web服務器可以發送重定向。因此,他們仍然會收到無效的證書錯誤。

因此,這裏最好的選擇是更改網站中的鏈接,否則您必須獲得.ie網站的SSL證書。

至於實際的重定向,這可以直接在IIS中處理,只在與主網站分離的域名.ie上爲SSL設置綁定。將物理路徑設置爲空目錄(它不會提供任何內容)。然後爲301永久性的所有請求設置http重定向。

IIS 7 redirect

相關問題