.NET MVC 2 RequireHttps - 如何将 www.mysite.com 重定向到 mysite.com
在 .NET MVC 2 中,您可以应用
属性来使方法受到 SSL 的保护。
<RequireHttps()>
Function Index() As ActionResult
Return View()
End Function
假设您的 SSL 证书是为 mysite.com 颁发的。如果用户通过输入 http://www.mysite.com
访问您的网站,
会将其重定向到 https:// www.mysite.com
,这将使浏览器显示无效证书警告。
砍掉 www 的最佳方法是什么?使用
时的前缀?
In .NET MVC 2 you can apply the <RequireHttps()>
attribute to make a method be secured by SSL.
<RequireHttps()>
Function Index() As ActionResult
Return View()
End Function
Let's say that your SSL certificate is issued for mysite.com. If the user visits your site by entering http://www.mysite.com
, <RequireHttps()>
will redirect them to https://www.mysite.com
, which would make the browser display an invalid certificate warning.
What is the best way to chop off the www. prefix when using <RequireHttps()>
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
解决方案是始终(如用户首次访问 www 版本时)将用户重定向到站点的非 www 版本。所以你的 require Https 属性将会起作用。
您可以在 IIS 中执行此操作,请参阅此处:http://forums.iis.net/t/1154053 .aspx
The solution is to always (as in when the user first goes to the www version) redirect the user to non-www version of your site. So your requires Https attribute will work.
You can do this in IIS, see here: http://forums.iis.net/t/1154053.aspx
我使用的是 IIS 7,可以访问 URL 重写模块 http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/。
我通过将其放入 MVC 2 应用程序的 web.config 文件中解决了这个问题:
http://mysite.com
->https://mysite.com
http://www.mysite.com
->https://mysite.com
https://www.mysite.com
->https://mysite.com
这很简单并且有效,但是拥有某种优雅的仅 MVC 解决方案仍然会很好。
I'm on IIS 7 and have access to the URL Rewrite module http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/.
I solved this by putting this in the web.config file of the MVC 2 application:
http://mysite.com
->https://mysite.com
http://www.mysite.com
->https://mysite.com
https://www.mysite.com
->https://mysite.com
This is simple and it works, but it would still be nice to have some sort of elegant MVC only solution.