在ASP.NET中有选择地将HTTP请求重定向到HTTPS请求

时间:2010-06-18 09:56:34

标签: asp.net http https

有选择地将HTTP请求重定向到ASP.NET页面的最简单,最有效的方法是什么?

例如,如果我的网页网站网址为http://www.somesite.com,我想将部分(或全部)网页请求重定向到https://www.somesite.com

最简单的方法是什么?

2 个答案:

答案 0 :(得分:1)

我使用此代码来做到这一点。

http://www.codeproject.com/KB/web-security/WebPageSecurity_v2.aspx

我想说,唯一的缺点就是不使用“正则表达式模式匹配”,但很容易将其添加到代码中。

答案 1 :(得分:0)

具体取决于您使用的IIS版本以及是否可以访问它以及是否要编写自定义代码或配置产品功能。

IIS5,IIS6:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

IIS7,IIS7.5:

网址重写:

http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/

以下是将http://.../checkout.aspx重定向到https的规则示例:

<rule name="CheckoutToSSL" stopProcessing="true">
    <match url="^checkout.aspx*" ignoreCase="true" />
    <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
    </conditions>
    <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" />
</rule>

ASP.NET路由:

http://msdn.microsoft.com/en-us/library/cc668201.aspx

IIS7,7.5重写和ASP.NET路由之间的区别

http://learn.iis.net/page.aspx/496/iis-url-rewriting-and-aspnet-routing/