我想把abc.com/cnen/about重定向到abc.com/cn/about。我试过在web配置文件中添加规则。
<rules>
<rule name="Redirect" stopProcessing="true">
<match url="(.*)/en/(.*)" ignoreCase="true"/>
<action type="Redirect" url="{R:1}/{R:2}" redirectType="Permanent"/>
</rule>
</rules>
也添加了重写规则,但没有成功。
<rules>
<rule name="RedirectEnglish" stopProcessing="true">
<match url=".*/en/.*" ignoreCase="true"/>
<action type="Rewrite" url="{R:1}/{R:2}" appendQueryString="false" />
</rule>
</rules>
我还能做些什么来让我的网站有上述变化?我添加了IIS规则,但也没有用。
Rule Pattern
但它只获取了URL的Path字符串,并没有包含服务器的主机名。因此,入站的URL将不符合规则,而规则动作也不会被执行。这是我的例子。
<rewrite>
<rules>
<rule name="Redirect" enabled="true" stopProcessing="true">
<match url="^en/(.*)" />
<action type="Redirect" url="{R:1}" />
<conditions logicalGrouping="MatchAny">
</conditions>
</rule>
</rules>
另外,也可以这样做。
<rewrite>
<rules>
<rule name="Reverse Proxy" enabled="true" stopProcessing="true">
<match url="^en/(.*)" />
<action type="Rewrite" url="{R:1}" />
<conditions logicalGrouping="MatchAny">
</conditions>
</rule>
</rules>