我有2个.net API项目,servce1和service2。 我想把它们放在同一个域(站点)下。我可以确保API路由不重叠。 我将项目部署为:
我想要实现的是,我可以使用http://mydomain/api/ONE或http://mydomain/api/TWO来访问service1和service2 API,而不需要URL中的子文件夹。
我尝试使用URL重写模块我得到它适用于一个,但我不能得到第二个工作,具有相同的设置。请参阅下面的设置文件。
我尝试移动规则订单。没运气。
<rewrite>
<rules>
<clear />
<rule name="first" stopProcessing="false">
<match url="(.*)ONE(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="{REQUEST_URL}" pattern="(.*)/api/ONE(.*)" />
</conditions>
<action type="Rewrite" url="/Servuce1/api/ONE{R:2}" logRewrittenUrl="true" />
</rule>
<rule name="seconds" stopProcessing="false">
<match url="(.*)TWO(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="{REQUEST_URI}" pattern="(.*)/api/TWO(.*)" />
</conditions>
<action type="Rewrite" url="/service2/api/TWO{R:2}" logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
我的设置有什么问题?
有哪些替代方案?
答案 0 :(得分:0)
是否应将stopProcessing设置为“true”,以便在第一个规则匹配时不应用第二个规则?