2011-08-17 160 views
2

在IIS7中,如果網站級別的默認重定向是相對路徑,那麼如何使默認重定向位於https而不是http。IIS默認重定向

當前如果主機是:abc.com並且登錄頁面是abc.com/myapp/login.aspx,我將默認重定向(IIS管理器 - > HTTPRedirect)設置爲/myapp/login.aspx。因此,如果用戶在他的瀏覽器地址欄中輸入abc.com,他將被重定向到http://abc.com/myapp/login.aspx。我想確保用戶被重定向到http * s *://abc.com/myapp/login.aspx。

它需要在根級別的web.config?

請注意,這不能在asp.net代碼來完成,因爲asp.net代碼沒有在這個請求的處理

編輯涉及: 一個做到這一點是有一個「默認方式「web應用程序,即部署在根(web站點)級別的web應用程序,然後使用asp.net提供的標準重定向模塊。任何關於利弊的看法,弊端?

回答

3

最後我們想出了3種不同的選擇:

  1. 使用的index.htm在「網站」級別,並將該會的 window.location.href設置爲HTTPS URL的腳本。
  2. 使用IIS URL重寫module
  3. 使用自定義asp.net模塊來重定向到https URL。該模塊的dll將在GAC中註冊,並在「網站」級配置該模塊。在GAC登記是必要的,因爲該模塊將被調用爲「網站」的子應用

選項3的基礎上選擇:

  1. 易於部署。在所有前端服務器上安裝重寫模塊比在GAC中安裝DLL要複雜
  2. 支持不會解析javascript的非瀏覽器用戶代理。這消除了選項1.