2010-11-01 60 views
1

在.NET MVC 2中,您可以應用<RequireHttps()>屬性來使方法受SSL保護。.NET MVC 2 RequireHttps - 如何將www.mysite.com重定向到mysite.com

<RequireHttps()> 
Function Index() As ActionResult 
    Return View() 
End Function 

讓我們假設您的SSL證書是針對mysite.com發佈的。如果用戶通過輸入http://www.mysite.com訪問您的網站,<RequireHttps()>將重定向到https://www.mysite.com,這將使瀏覽器顯示無效的證書警告。

砍掉www的最好方法是什麼?使用前綴<RequireHttps()>

回答

1

解決方案是始終(如用戶首次轉到www版本時)將用戶重定向到您網站的非www版本。所以你的需要Https屬性將起作用。

您可以在IIS中做到這一點,在這裏看到:http://forums.iis.net/t/1154053.aspx

1

我在IIS 7和訪問URL重寫模塊http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/。 >https://mysite.com
http://www.mysite.com - - >https://mysite.com
https://www.mysite.com - >https://mysite.com

<configuration> 
... 
    <system.webServer> 
    <rewrite> 
     <rules> 
     <rule name="CanonicalHostNameRuleMain" stopProcessing="true"> 
      <match url="(.*)" /> 
      <conditions logicalGrouping="MatchAny"> 
      <add input="{HTTP_HOST}" pattern="^mysite\.com$" negate="true" /> 
      <add input="{HTTPS}" pattern="^off$" /> 
      </conditions> 
      <action type="Redirect" url="https://mysite.com/{R:1}" /> 
     </rule> 
     </rules> 
    </rewrite> 
    </system.webServer> 
</configuration> 


http://mysite.com

我將這個標籤在MVC 2應用程序的web.config文件解決了這個

這很簡單,它的工作原理,但它仍然是一種優雅的MVC唯一的解決方案。

相關問題