1

我正在使用 url 重写模块(从这里)。我在 web.config 中定义了以下规则,以将任何 http 流量定向到 https。

<rewrite>
      <rules>
        <rule name="https redirect" enabled="true" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="^OFF$" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="SeeOther" />
        </rule>
      </rules>
</rewrite>

我有一个问题。我的 url 也可能在查询字符串中包含一些加密和编码的数据。似乎此规则通过多次附加查询参数来更改参数,如下所示。

实际网址
http://www.MySite.com?Data=nBdHuQ6Jt2nHCnh5FG

应用规则后
https://www.MySite.com?Data=nBdHuQ6Jt2nHCnh5FG?Data=nBdHuQ6Jt2nHCnh5FG

有什么想法我在这条规则中做错了吗?

4

1 回答 1

1

你需要{HTTP_HOST}{REQUEST_URI}改变{HTTP_HOST}{URL}

于 2012-11-01T18:10:37.290 回答