我想完全匹配https://internet.dev.local/ KYR 网址(没有/结束)并重定向或重写为https://internet.dev.local/ KYR / (与/).
我正在尝试以下规则,但它也匹配其他网址,例如 https://internet.dev.local/KYR/Admin/Form/Default.aspx?signup=false ,这是错误的。
那我怎么能实现这个目标呢?
<rule name="Static redirect" patternSyntax="ExactMatch" stopProcessing="true">
<match url="https://internet.dev.local/KYR" negate="true" />
<conditions>
</conditions>
<action type="Redirect" url="/Login/?ReturnUrl=/Member/KYR/" redirectType="Permanent" />
</rule>
答案 0 :(得分:0)
如果您需要测试主机和协议,则必须将其置于条件中,而不是全局规则中 按照你的例子,它将如下:
<rule name="test" patternSyntax="ExactMatch" stopProcessing="true">
<match url="KYR" />
<action type="Redirect" url="/KYR/" redirectType="Permanent" />
<conditions>
<add input="{HTTP_HOST}" pattern="internet.dev.local" />
<add input="{HTTPS}" pattern="on" />
</conditions>
</rule>
我已更改操作中的url
,因为您的问题是:
redirect or rewrite to https://internet.dev.local/KYR/ (with /).
修改强>
要使其在任何主机上运行(使用或不使用SSL),只需删除条件:
<rule name="test" patternSyntax="ExactMatch" stopProcessing="true">
<match url="KYR" />
<action type="Redirect" url="/KYR/" redirectType="Permanent" />
</rule>