【问题标题】:IIS replace part of urlIIS 替换部分 url
【发布时间】:2017-01-15 01:20:12
【问题描述】:

我正在尝试通过在 iis 中使用 url rewrite 将 url 中的“se”替换为“sv”。

网址如下所示: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>

我已经尝试了很多,但都没有完成工作。

【问题讨论】:

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


    【解决方案1】:

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

    规则应如下所示:

    <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"

    【讨论】:

    • 我试过这个规则,它不适用。也许我的设置中有其他问题,因为我同意规则应该是这样的。当我使用内置的“测试模式”时,它也完美地应用了规则。
    • 你是如何安装 UrlRewrite 的?网络接口?我也有 WebPI 的问题,在下载页面上你应该可以下载 x64 或 x86 安装程序。
    猜你喜欢
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-19
    相关资源
    最近更新 更多