IIS重写规则将HTTP重定向到HTTPS会导致多个RedirectURL查询字符串

时间:2016-08-08 13:23:03

标签: asp.net iis url-rewriting

我们正在使用此规则将HTTP重定向到HTTPS:

@Override
public void onBackPressed() {
    // Your code to minimize
}

这种方法很好,但是当用户为这样的网址添加了书签时:

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

它按预期将它们重定向到HTTPS,但使用2个ReturnURL查询字符串,在登录时会导致404错误:

h t t p://www.mysite.com/myapp/login.aspx?ReturlURL=/someurl

如何处理此案件?提前谢谢!

1 个答案:

答案 0 :(得分:3)

将您的操作更改为:

<action type="Redirect" url="https://{HTTP_HOST}{HTTP_URL}" appendQueryString="false" redirectType="SeeOther" />

请注意appendQueryString="false"属性:)