由于ExtensionlessUrlHandler,Web API的重写规则失败

时间:2012-12-14 19:50:31

标签: asp.net-mvc iis asp.net-web-api cross-domain rewrite

我正在尝试使用IIS将我的ASP.net MVC 4应用程序的请求重写到我的ASP.net MVC 4 WebApi。从客户端,我使用ajax回调服务器,然后我希望服务器重写请求指向webapi站点。如果我可以解决任何跨域问题,这应该可以解决。

我按照本文安装了URL重写,Web Farm Framework,ARR和外部缓存:http://blogs.iis.net/wonyoo/archive/2011/04/20/how-to-install-application-request-routing-arr-2-5-without-web-platform-installer-webpi.aspx

在IIS->应用程序请求路由 - >服务器代理设置中“并选中”启用代理“框。

我的重写规则如下:

<rule name="webapi" stopProcessing =" true" >
  < match url =" webapi/(.*)" />
  < conditions>
    < add input =" {HTTP_HOST}" pattern="web(\.mytest\.com)$" />
  </ conditions>
  < action type =" Rewrite" url= "http://api{C:1}/api/{R:1} " />
</ rule>

如果我删除了我的MVC网站的web.config中的ExtensionlessUrlHandlers,那真是好奇,那么我的重写就完美了。不幸的是,MVC路由中断,我的网站不再有效。如果重新放入ExtensionlessUrlHandlers,则重写失败并且MVC路由按预期工作。

有没有一种简单的方法可以解决这个问题?

0 个答案:

没有答案