2013-08-07 43 views
1

我擁有我的example.com域的SSL證書。如果用戶想用www.example.com輸入網站,我想重新定向。下面的代碼正常工作,但如果我想在URL欄中使用https://www.example.com,則無法進入該網站。爲什麼?MVC 3 Global.asax重定向請求

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    if (Request.Url.Host.StartsWith("www", StringComparison.InvariantCultureIgnoreCase)) 
    { 
     Response.Clear(); 
     Response.AddHeader("Location", 
         string.Format("{0}://{1}{2}", Request.Url.Scheme, 
                Request.Url.Host.Substring(4), 
                Request.Url.PathAndQuery) 
          ); 
     Response.StatusCode = 301; 
     Response.End(); 
    } 
} 
+0

當您在網絡瀏覽器的地址欄中輸入「https:// example.com」時會發生什麼?該網站是否正確加載?如果不是,你會得到什麼錯誤? –

+0

如果我點擊了'https:// example.com',那麼確定,但是https://www.example.com'會讓我在Chrome中出現ERR_CONNECTION_REFUSED錯誤(這是一個例子) – Tony

回答

0

我想有是監聽https://www.example.com您的Web服務器上沒有約束力。您只有https://example.com的有效證書。因此,當您嘗試請求https://www.example.com時,IIS只會刪除連接。

+0

我可以在哪裏創建綁定? – Tony

+0

在IIS管理控制檯中,右鍵單擊網站,將出現一個「編輯綁定...」彈出式菜單,您可以在其中定義綁定 –

+0

確定我已經有http和https綁定,但問題仍然存在 – Tony