IIS URL重写模块忽略路径中的子应用的规则

问题描述:

我试图在我的网站上包含路径中的子应用的某个路径上进行URL重写。问题是,当我在路径中有我的子应用程序的名称时,规则会被跳过。IIS URL重写模块忽略路径中的子应用的规则

所以我当前IIS设置:

Root App (example.com) 
| 
|---Child App (mychild) 

比方说,该网站是http://example.com

我可以通过http://example.com/mychild/...

现在我需要做一个URL重写规则访问子应用它会捕获子应用程序下的特定网址。因此,例如将需要匹配:

http://example.com/mychild/folder1/method1和改写为别的

当我把这个规则(根站点web.config),但是(为简单起见移除正则表达式),规则是不触发,继续路由到孩子的应用程序,并导致404:

<rule name="rule1" enabled="true" patternSyntax="ExactMatch" stopProcessing="true"> 
    <match url="mychild/folder1/method1" /> 
    <action type="Rewrite" url="http://otherlocalserver" 
</rule> 

如果我更改了url属性别的东西mychild实例(这是不是一个孩子应用程序),如:

<match url="hello/folder1/method1" />

此:http://example.com/hello/folder1/method1比赛。

我怎样才能得到这个规则之前 IIS认为我希望它使用child应用程序?

子应用程序是否作为单独的网站运行?

然后,您应该在正确的web.config文件中执行重写路径。

如果不是,那么可能还有其他一些规则将目标设定为stopProcessing =“true”标记(如您在此处发布的规则中的标记)。