我只需要删除匹配的任何请求的特定部分。见以下样本:
示例:
旧网址:/ learn / videos,/ learn / events / event-1,/ learn / resources / o365 / lesson1
新网址:/ videos,/ events / event-1,/ resources / o365 / lesson1
我是否需要3个单独的规则,如下所示:
<rule name="old-learn-1">
<match url="^learn/([_0-9a-z-]+)"/>
<action type="Rewrite" url="{R:1}"/>
</rule>
<rule name="old-learn-2">
<match url="^learn/([_0-9a-z-]+)/([_0-9a-z-]+)"/>
<action type="Rewrite" url="{R:1}/{R:2}"/>
</rule>
<rule name="old-learn-3">
<match url="^learn/([_0-9a-z-]+)/([_0-9a-z-]+)/([_0-9a-z-]+)"/>
<action type="Rewrite" url="{R:1}/{R:2}/{R:3}"/>
</rule>
或者可以用1条规则来完成吗?
任何建议或信息都将受到高度赞赏。
答案 0 :(得分:5)
这样的事情应该有效:
<rule name="old-learn-3">
<match url="^learn/([/_0-9a-z-]+)"/>
<action type="Rewrite" url="{R:1}"/>
</rule>
甚至
<rule name="old-learn-3">
<match url="^learn/(.+)"/>
<action type="Rewrite" url="{R:1}"/>
</rule>