我有两个角度应用程序。一个在我的主域中,另一个在这个域中一个名为“merchant”的虚拟目录中。
我想对两者都有重写规则,这样我就可以在地址栏中输入URL,而不需要404页面。为此,我放了一张网。配置两个文件夹,但我无法让两个应用程序同时重写规则。
在主应用程序web中。配置我有
<rewrite>
<rules>
<rule name="block" stopProcessing="true">
<match url="^merchant/(.*)$" />
<action type="Redirect" url="merchant/{R:1}" />
</rule>
<rule name="Application Routes" patternSyntax="Wildcard">
<match url="*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
有了这个conf,重写对于主应用程序很好,但对于第二个应用程序就不行了。我以为第一条规则会重定向到虚拟文件夹web。配置,但似乎不是。下面是我的虚拟文件夹web中的规则。配置:
<rewrite>
<rules>
<rule name="AngularJS Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/merchant/" />
</rule>
</rules>
</rewrite>
当然,如果我从主网站删除所有规则。配置,第二个正在工作,但不再是第一个。。。
我怎样才能同时得到这两个呢?