C# IIS重写:HTTP到HTTPS,反之亦然,为什么';这不管用吗

C# IIS重写:HTTP到HTTPS,反之亦然,为什么';这不管用吗,c#,regex,iis,url-rewriting,C#,Regex,Iis,Url Rewriting,我有一个页面,我必须将每个HTTP请求重定向到HTTPS请求,除了在两个页面上,我必须做完全相反的事情,因为我们包括一个通过HTTP加载的远程第三方脚本 由于这是一个开发环境(VisualStudio),HTTP端口为50382,HTTPS端口为44300 以下是我到目前为止所拥有的内容(CustomerPortal是其中一个例外页面)。 它不起作用,对CustomerPortal的每个请求在Chrome中都显示为“已取消”。我认为问题在于HTTP-to-HTTPS规则,它不排除Customer

我有一个页面,我必须将每个HTTP请求重定向到HTTPS请求,除了在两个页面上,我必须做完全相反的事情,因为我们包括一个通过HTTP加载的远程第三方脚本

由于这是一个开发环境(VisualStudio),HTTP端口为50382,HTTPS端口为44300

以下是我到目前为止所拥有的内容(CustomerPortal是其中一个例外页面)。 它不起作用,对CustomerPortal的每个请求在Chrome中都显示为“已取消”。我认为问题在于HTTP-to-HTTPS规则,它不排除CustomerPortal.aspx,尽管我清楚地为这种情况添加了一个条件

我不知道为什么它不起作用,我不是RegEx或IIS方面的专家,但对我来说,规则看起来是正确的(显然不是)


好的,在进一步调试和测试之后,我发现了问题。 规则本身很好。 问题是我如何从c代码中调用Response.Redirect

这不管用

Response.Redirect("~/Path/To/MyFile.aspx");
确实如此

Response.Redirect("http://mypage.com/Path/To/MyFile.aspx");
我不知道为什么它不起作用。但是,如果您在从HTTPS重定向到HTTP时使用绝对路径,反之亦然,那么它将按预期工作

Response.Redirect("http://mypage.com/Path/To/MyFile.aspx");