如何通过url重写将http重定向到https

时间:2017-09-05 08:03:05

标签: redirect iis

我需要为http请求设置301重定向,但是无法将我找到的部分放在一起并获得想要的结果。由于我不熟悉这个概念,我希望标题不会产生误导。

现在我正在尝试这个

<rule name="Redirect to https" enabled="true" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{HTTPS}" pattern="off" />
            <add input="{HTTP_HOST}" pattern="^www.example.com$" negate="true" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />

以及其他微观管理规则

我需要设置这些条件

https://example.com ---&gt; https://www.example.com

http://example.com ---&gt; https://www.example.com

http://www.example.com ---&gt; https://www.example.com

https://example.com/abc/def ----&gt; https://www.example.com/abc/def

http://example.com/abc/def ----&gt; https://www.example.com/abc/def

http://www.example.com/abd/def ---&gt; https://www.example.com/abc/def

基本上,每个非http和非www请求都应该指向&#34; https://www ...&#34;格式。

现在,规则I设置无效http://example.com格式。

我甚至不确定这是重定向还是重写,但我们的SEO顾问坚持301重定向。

如何设置此规则?

1 个答案:

答案 0 :(得分:1)

此规则适用于您:

<rule name="Redirect to https" enabled="true" stopProcessing="true">
  <match url="(.*)" />
  <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
    <add input="{HTTPS}" pattern="off" />
    <add input="{HTTP_HOST}" pattern="^www.example.com$" negate="true" />
  </conditions>
  <action type="Redirect" url="https://www.example.com/{R:1}" />
</rule>

我将条件注释更改为MatchAny并使用www.example.com  在重定向结果网址