IIS URL重写:仅在URL中添加尾部斜杠一次

时间:2019-12-02 10:26:44

标签: regex iis

我在IIS中有一条规则,可以在末尾添加斜杠(如果没有)。它工作正常,但就我而言,我只是第一次需要它。我在IIS上有一个反向代理,可以将请求转发到另一台服务器。使用此规则,它将始终附加斜线。

如何修改规则,以仅在“ myapp”之类的关键字之后没有斜杠时才添加斜杠,以便在URL像http://myserver/myapp

时添加斜杠。
 <rule name="AddTrailingSlashRule1" stopProcessing="true">
                <match url="(.*[^/])$" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                </conditions>
                <action type="Redirect" url="{R:1}/" />
            </rule>

我尝试更改url =“(。* myapp [^ /])$”中的正则表达式,但不起作用。

1 个答案:

答案 0 :(得分:0)

据我所知[^ /]表示存在一个不是'/'的字符。因此,您的正则表达式不适用于myapp。

正确的正则表达式为.*myapp$

结果:

enter image description here