IIS URL 重写规则将子目录流量重定向到 https

IIS URL 重写规则将子目录流量重定向到 https

我有一个网站,我在其中编写了 URL 重写规则,将所有 site.com 流量引导至 www.site.com。

工作正常。

现在我想将 SSL 添加到子目录中的应用程序。我已将 SSL 添加到网站,但想重定向到http://www.site.com/application/https://www.site.com/application

以下是我的想法:

            <rule name="Redirect Supply Management System traffic to https" stopProcessing="true">
                <match url="(.*)/supply-management-system/(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="(.*)/supply-management-system/(.*)" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}/{R:1}/{R:2}" appendQueryString="true" />
            </rule>

如果我测试这些模式,它们似乎都正常,但是当我通过 http 导航到应用程序时,我不会被重定向。

任何想法都很好,谢谢!

答案1

这有效:

<rule name="Redirect Supply Management System traffic to https" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
    <match url="(^supply-management-system/.*)" />
    <conditions>
        <add input="{HTTPS}" pattern="off" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" />
</rule>

相关内容