我有一個站點和託管在同一臺服務器上的站點的測試版本。我希望實時版本使用ssl,但不是測試版本。我用下面的代碼來執行SSL活,而不是爲了測試:對某些站點執行ssl,但對另一個站點不執行
If HttpContext.Current.Request.IsSecureConnection.Equals(False) AndAlso HttpContext.Current.Request.IsLocal.Equals(False) AndAlso HttpContext.Current.Request.RawUrl.Contains("test.mydomain.com") = False Then
Response.Redirect("https://" + Request.ServerVariables("HTTP_HOST") + HttpContext.Current.Request.RawUrl)
End If
該網站的真人版是live.mydomain.com。
結果我得到的是,要test.mydomain.com任何請求轉到live.mydomain.com。我不知道這是如何可能的。瀏覽器實際在地址欄中顯示test.mydomain.com,但顯然使用了實時版本。對於test.mydomain.com沒有SSL綁定。我花了幾天的時間想知道是否有人知道我的代碼有什麼問題,或者我可以嘗試什麼。
許多在此先感謝
嗨Dommer,這看起來像這樣做的更好的方法。我會盡快測試並報告。我有一個問題,但我不想使用ssl進行本地開發。規則中的哪些部分是被照顧的?非常感謝M –
在規則中,如果URL是'live.mydomain.com',它只會重定向 - 如果我已經正確寫入;-)。即使我犯了一個錯誤,這應該足以讓你自己解決。我想當你在做本地開發時,它會是'localhost'不是嗎? –
很好用。非常感謝 –