使用应用程序请求路由(MVC5应用程序)重写URL

时间:2015-05-27 13:08:41

标签: asp.net asp.net-mvc iis url-rewriting asp.net-mvc-5

我有一个MVC5应用程序,其中在集成应用程序池中的IIS中运行了url http://site1.com 。我在 http://site2.com/dir/service.svc 上运行了另一项服务。

我正在尝试为 http://site1.com/dir/service.svc 创建重写规则,以转到 http://site2.com/dir/service.svc

我一直收到 404 NOT FOUND 回复。但我已经确认我可以通过网络浏览器浏览该服务。

在IIS中,我使用ARR(应用程序请求路由)插件在应用程序和服务器级别创建重写规则。

以下是applicationHosts.config(服务器级别)和web.config(应用程序级别)的重写规则示例:

<rule name="rewrtite test 2" patternSyntax="ExactMatch">
  <match url="http://site1.com/dir/service.svc" />
  <action type="Rewrite" url="http://site2.com/dir/service.svc" />
</rule>

在我的MVC应用程序中,我尝试将以下内容添加到 RouteConfig.cs 中:

routes.IgnoreRoute("dir/{*pathInfo}");

我也尝试过:

routes.IgnoreRoute("dir/service.svc");

我读到问题可能是因为 ExtensionlessUrlHandler 所以我尝试将其删除:

<handlers>
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
</handlers>

一些细节:

  • IIS 6.2
  • MVC 5
  • .NET 4.5.1

我尝试使用以下设置打开 FailedRequestLogging

  • 所有内容(*)
  • 状态代码:200-600
  • 提供商:ASP,ASP.NET,ISAPI扩展,WWW服务器

但是我没有在%SystemDrive%\ inetpub \ logs \ FailedReqLogFiles 中获取任何日志文件。

感谢。

0 个答案:

没有答案