IIS替换部分URL

时间:2016-09-07 11:14:12

标签: c# asp.net-mvc iis-7.5

我试图替换" se"与" sv"通过在iis中使用url rewrite在url中。

网址如下:www.somedomain.com/ se / baadmarked / baade

应该是这样的:www.somedomain.com/sv/baadmarked/baade

我目前的规则如下:

<rule name="se to sv" patternSyntax="ECMAScript" stopProcessing="true">
    <match url="(.*)" />
    <action type="Redirect" url="{C:1}sv{C:3}" appendQueryString="false" />
    <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}{QUERY_STRING}" pattern="(.*)(se)(.*)" />
    </conditions>
</rule>

我已经尝试了很多,但没有完成任务。

1 个答案:

答案 0 :(得分:2)

听起来您想要使用重写功能,而不是重定向功能。

规则应如下所示:

<rule name="se to sv">
    <match url="^(.*)/se/(.*)" />
    <action type="Rewrite" url="{R:1}/sv/{R:2}" />
</rule>

比赛将规则分为两部分。第一部分是域名,第二部分是se之后的所有内容。

该操作是将所有这些地址重写为{R:1}域名部分,/sv/然后{R:2} se之后的所有内容。

如果您确实需要重定向,只需将操作从Rewrite更改为Redirect即可。它不是很清楚。

如果需要,您仍然可以添加stopProcessing="true"appendQueryString="false"