2

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

我已经按照这篇文章安装了 URL 重写、Web Farm 框架、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->Application Request Routing->Server Proxy Settings”中,选中“Enable proxy”复选框。

我的重写规则如下所示:

<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 路由按预期工作。

有没有简单的方法来解决这个问题?

4

0 回答 0