2

我的网站有一个域别名。我想知道如何将 domainA.ext 的请求重定向到 domainB.ext 的https://domainA.ext/folderA请求http://domainB.ext/folderB

目前我有以下规则将所有http请求重定向到https,但它将所有请求重定向到https:

<rule name="Redirect to https" stopProcessing="true">
                    <match url="(.mydomain.ext*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://mydomain.ext}" redirectType="Permanent" />*
                </rule>

它是 Windows server 2008,但我的 cms 是 PHP。

4

1 回答 1

3

我想不出比 4 条不同的规则更简单的事情了。

前 2 个domainA.ext

<rule name="Check path folderA" stopProcessing="true">
    <match url="^folderA" negate="true" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="domainA\.ext$" />
    </conditions>
    <action type="Redirect" url="https://domainA.ext/folderA/" />
</rule>
<rule name="Check SSL for domainA" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="domainA\.ext$" />
        <add input="{HTTPS}" pattern="^OFF$" />
    </conditions>                         
    <action type="Redirect" url="https://domainA.ext/folderA/" />
</rule>
  • 第一条规则:如果路径不以 开头folderA,则重定向到https://domainA.ext/folderA/
  • 第二条规则:如果 HTTPS 关闭,它会重定向到https://domainA.ext/folderA/

以及接下来的 2 个 domainB.ext

<rule name="Check path folderB" stopProcessing="true">
    <match url="^folderB" negate="true" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="domainB\.ext$" />
    </conditions>
    <action type="Redirect" url="http://domainB.ext/folderB/" />
</rule>
<rule name="Check no SSL for domainB" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll">
        <add input="{HTTP_HOST}" pattern="domainB\.ext$" />
        <add input="{HTTPS}" pattern="^ON$" />
    </conditions>                         
    <action type="Redirect" url="http://domainB.ext/folderB/" />
</rule>
  • 第一条规则:如果路径不以 开头folderB,则重定向到http://domainB.ext/folderB/
  • 第二条规则:如果 HTTPS 开启,它会重定向到http://domainB.ext/folderB/
于 2013-04-09T20:58:42.607 回答