我想为
设置301重定向 mysite.com/banana mysite.com/fruit
mysite.com/banana/yellow mysite.com/fruit/yellow
mysite.com/banana/yellow/sale mysite.com/fruit/yellow/sale
(单词"黄色"和"销售"可以替换为任何东西,它们是路线中的变量。)
这适用于第一种情况,但不适用于其他情况:
<rule name="banana" stopProcessing="true">
<match url="banana" />
<action type="Redirect" url="fruit" />
</rule>
基于这个问题: replace underscore with dash using url rewrite module of iis
仅适用于第三种情况:
<rule name="banana" stopProcessing="true">
<match url="(mysite.com.*/[^/]*?)banana/([^/_]*)/([^/_]*)$" />
<action type="Redirect" url="{R:1}fruit/{R:2}/{R:3}" />
</rule>
我需要的是一个返回
的正则表达式{R:1} mysite.com /
{R:2} / yellow / sale
或
{R:1} mysite.com /
{R:2}
答案 0 :(得分:2)
为什么不保持简单?
<match url="mysite.com/banana(/.+)*$" />
<action type="Redirect" url="mysite.com/fruit{R:1}" />
或者如果你只想深入两个层次:
<match url="mysite.com/banana((?:/[^/]+){0,2})$" />
<action type="Redirect" url="mysite.com/fruit{R:1}" />
答案 1 :(得分:1)
以下内容如何:
<rule name="banana" stopProcessing="true">
<match url="mysite.com/banana(.+)?" />
<action type="Redirect" url="mysite.com/fruit{R:1}" />
</rule>