【发布时间】:2020-10-16 03:26:52
【问题描述】:
我需要为以下场景创建一些规则(我认为 2 条就足够了):
A.第一种情况
https://www.mydomainOLD.com/en/lorem/ipsum/doloret/etc 到 https://www.mydomainNEW.com/lorem/ipsum/doloret/etc
基本上,我需要将域从 mydomainOLD 更改为 mydomainNEW 并在出现时从 URL 中删除“/en/”。
我创建的规则如下:
<rule name="Replace OLD with NEW and remove /en/" enabled="true" stopProcessing="true">
<match url="^(http|https)://?(www.)mydomainOLD.com/en?(.*)" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false" />
<action type="Redirect" url="https://www.mydomainNEW.com/{R:3}" />
</rule>
B.第二种情况:
https://es.mydomainOLD.com/en/lorem/ipsum/doloret/etc 到 https://es.mydomainNEW.com/en/lorem/ipsum/doloret/etc
在这种情况下,除了“es”,我还可以使用其他国家/地区(fr、de、hk 等)
我创建的规则如下(针对每个国家/地区):
<rule name="ES redirect from OLD to NEW" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^(.*)es.mydomainOLD(.*)$" />
</conditions>
<action type="Redirect" url="{C:1}be.mydomainNEW.com{C:2}" appendQueryString="false" />
</rule>
这些规则都没有按我的意愿工作,即使当我测试正则表达式时它们按预期工作。我认为我缺少的条件输入还有更多内容。一点帮助将非常受欢迎。谢谢。
【问题讨论】:
-
避免常见错误,blog.lextudio.com/…,然后学习如何通过 FRT 进行故障排除,docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/…
标签: redirect iis url-rewriting