Redirect 将站点从www和非www重定向到https

Redirect 将站点从www和非www重定向到https,redirect,iis,url-rewriting,Redirect,Iis,Url Rewriting,我有一个规则,将我的主站点重定向到https,将测试站点重定向到测试链接,如下所示 <rules> <rule name="One" patternSyntax="Wildcard" stopProcessing="true"> <match url="*"/> <conditions logicalGrouping="MatchAny"> <add input="{HTTP_H

我有一个规则,将我的主站点重定向到https,将测试站点重定向到测试链接,如下所示

<rules>
    <rule name="One" patternSyntax="Wildcard" stopProcessing="true">
        <match url="*"/>
        <conditions logicalGrouping="MatchAny">
            <add input="{HTTP_HOST}" pattern="site.co.uk"/>
            <add input="{HTTP_HOST}" pattern="^www.site.co.uk"/>
        </conditions>
        <action type="Redirect" url="https://www.site.co.uk/{R:0}"/>
    </rule>
    <rule name="Two" patternSyntax="Wildcard" stopProcessing="true">
        <match url="*"/>
        <conditions logicalGrouping="MatchAny">
            <add input="{HTTP_HOST}" pattern="^testing.domain.co.uk"/>
        </conditions>
        <action type="Redirect" url="http://testing.domain.co.uk"/>
    </rule>
</rules>

在我运行一个报告之前,我一直认为一切正常(每个站点都在根据需要重定向),如果用户在www.site.co.uk中键入,它似乎会显示http版本,而不是https-我有一个条目用于该
,我认为它解决了这个问题,但它不是


我如何确保我的主站点(带和不带www)可以重定向到https版本,但我的测试站点也可以转到我设置的测试URL

您的规则中有一个错误,您忘记添加HTTPS模式,因为主机www.site.co.uk面临太多重定向错误

尝试以下规则:

<rule name="One" patternSyntax="ECMAScript" stopProcessing="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAll">
                        <add input="{HTTP_HOST}" pattern="www.site.co.uk|site.co.uk" />
                        <add input="{HTTPS}" pattern="off" />
        </conditions>
        <action type="Redirect" url="https://www.site.co.uk/{R:0}" />
    </rule>


不幸的是,这并没有像我期望的那样起作用。如果我删除了第二条规则,那么就无法访问我的测试站点。所以我希望规则1将上面URL的组合重定向到https站点,规则2重定向到http测试站点。Thx@Computer我在我的网站上尝试了这个规则,正如你所解释的那样,它工作正常。我请求您清除浏览器缓存和历史记录设置,然后重试访问您的网站。请检查我编辑的帖子中的快照。