我遇到了与引用帖子(Rewrite rule for WebAPI fails because of ExtensionlessUrlHandler)相同的问题,并尝试了几次尝试解决问题并取得了一些成功。我现在所困的是以下几点:
背景:
目标:
工作:
不工作:
详细说明:
我不能为我的生活弄清楚为什么当使用查询字符串格式时这不起作用。
重写规则:
< rule name="Route requests with QS" stopProcessing="true">
< match url="^svc/(.*)" />
< conditions>
< add input="{QUERY_STRING}" pattern="(.*).s" />
< / conditions>
< action type="Rewrite" url="http://svc.foo.com/api/{R:1}?{C:1}" appendQueryString="false" logRewrittenUrl="true" />
< / rule>
< rule name="Route the requests without QS" stopProcessing="true">
< match url="^svc/(.*).s" />
< conditions>
< add input="{CACHE_URL}" pattern="^(https?)://" />
< / conditions>
< action type="Rewrite" url="{C:1}://svc.foo.com/api/{R:1}" logRewrittenUrl="true" />
< / rule>
提前致谢!
答案 0 :(得分:0)
这篇文章对我有用。 ARR/URL Rewriter within a .net Web API application
添加ignoreRoutes完美地完成了这项工作。