Web.config将http + www和http非www和https非www重写为https:// www

时间:2017-06-30 07:20:16

标签: asp.net asp.net-mvc web-config

我最近将我的asp.net MVC网站切换为https,并希望使用web.config重写将所有现有流量重定向到https://www.example.com

我尝试了各种组合但尚未成功。 需要处理以下三种情况:

 
http://
http://www
https://

2 个答案:

答案 0 :(得分:0)

试试这可能会对你有所帮助:

 <system.webServer>
    <rewrite>
        <rules>
        <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
        <match url="(.*)" /> 
        <conditions> 
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions> 
        <action type="Redirect" redirectType="Permanent" 
             url="https://{HTTP_HOST}/{R:1}" />
</rule>   
    </rules>
</rewrite>
</system.webServer>

答案 1 :(得分:0)

您也可以使用Global.asax重定向您的流量以使用https。

方法名称:Application_BeginRequest

您的重定向代码看起来像这样

strProtocol = "https";

if (HttpContext.Current.Request.Url.ToString().ToLower().StartsWith("http:") == true)
{
    Response.Redirect(strProtocol + "://" + strYourHostName + strYourRemainingURL, false);
}

你可以将协议和主机名保存在web.config中并从那里选择。