HTTP重定向到Default.aspx中HTTPS(Redirect http to https

2019-10-16 22:35发布

我们的网站地址是:象“http://members.XXX.XX”,所以我想重定向到“HTTPS://members.XXX.XX”无论用户类型“members.XXX.XX”或“HTTP: //members.XXX.XX”,这里是我的代码,我把它放在的Default.aspx

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.IsSecureConnection == false)
        {
            Response.Redirect(Request.Url.ToString().Replace("http://", "https://"));
        }

        if (!Request.Url.ToString().StartsWith("http://") || !Request.Url.ToString().StartsWith("https://"))
            Response.Redirect("https://" + Request.Url.ToString());

        Response.Redirect("~/pages/login.aspx");
    }

这是不行的,任何人都可以帮忙吗?非常感谢

编辑:我们没有这样做,在IIS中,因为我们instored的ELMAH这是一个错误日志记录系统。 我的同事说,如果我们这样做了ELMAH是行不通的

Answer 1:

相反,在代码中做的只是让IIS为您处理。

IIS7
通过IIS需要SSL和捕获错误代码403.4做重定向你。 通过步指南“IIS7重定向HTTP到HTTPS”

IIS6
您可以创建在端口80上处理您重定向到HTTPS重定向网站。 了解更多关于它的“如何强制重定向从HTTP到HTTPS在IIS 6.0” 。



Answer 2:

您可以添加到Global.asax

    protected void Application_BeginRequest()
    {

        if (!Context.Request.Url.AbsoluteUri.Contains("localhost") && !Context.Request.IsSecureConnection)
            Response.Redirect(Context.Request.Url.ToString().Replace("http:", "https:"));
    }


文章来源: Redirect http to https in default.aspx