繁体   English   中英

在IIS7.5中使用C#MVC从HTTP重定向到HTTPS并重定向到新域

[英]Redirect from HTTP to HTTPS and to a new domain with C# MVC in IIS7.5

我在MVC项目中有一个重写规则,可以将任何HTTP请求的URL重写为HTTPS:

<rewrite>
  <rules>
    <rule name="Redirect HTTP to HTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
      <match url="*" />
      <conditions logicalGrouping="MatchAny">
        <add input="{HTTPS}" pattern="off" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" />
    </rule>
  </rules>
</rewrite>

但是现在我需要将所有请求从原始www.company.com重定向到新的URL www2.company.com

我该怎么做才能将原始HTTP也保留为HTTPS?

此新的重定向操作是否对Google Analytics(分析)进行了更改?

编辑:

例子:

http://old.company.com -> https://new.company.com
https://old.company.com -> https://new.company.com
http://www.old.company.com -> https://new.company.com
https://www.old.company-com -> https://new.company.com
http://old.company.com/Account/Login -> https://new.company.com/Account/Login
https://old.company.com/Account/Login -> https://new.company.com/Account/Login

您可以使用重写规则来处理多个域。 这是一个包含url上的正则表达式匹配的示例:

<rewrite>
    <globalRules>
        <rule name="Redirects to HTTPS and www.example.com" patternSyntax="ECMAScript" stopProcessing="true">
            <match url=".*" />
            <conditions logicalGrouping="MatchAny">
                <add input="{HTTP_HOST}" pattern="^example.*(com|net)$" />
                <add input="{HTTP_HOST}" pattern="^(www.)?example2.(com|net)$" />
                <add input="{HTTP_HOST}" pattern="^www.example.net$" />
            </conditions>
            <action type="Redirect" url="https://www.example.com/{R:0}" />
        </rule>
    </globalRules>
</rewrite>

有关如何实现所需内容的更多详细信息,请参见本文

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM