在下面提到的重定向规则中,我将网站"fr-ca"语言重定向到"en"语言,除了入门页面。这意味着如果网址包含载入页面,则不应重定向到"en"语言。但它总是重定向到"en"。请让我知道我的规则有什么问题。提前谢谢。
<rule name="Site-fr-CA to en" stopProcessing="false">
<match url="^fr-ca(.*)$" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(.*)www.TestSite.com(.*)$" ignoreCase="false" />
<add input="{HTTP_HOST}" pattern="^fr-ca/onboarding(.*)$" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="/en{R:1}" />
</rule>
</rules>
问题是第二个条件中的HTTP_HOST。请改用PATH_INFO:
<rule name="Site-fr-CA to en" stopProcessing="false">
<match url="^fr-ca(.*)$" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(.*)www.TestSite.com(.*)$" ignoreCase="false" />
<add input="{PATH_INFO}" pattern="^/fr-ca/onboarding(.*)$" negate="true" />
</conditions>
<action type="Redirect" redirectType="Permanent" url="/en{R:1}" />
</rule>