MVC允许子文件夹中的IIS默认页面,而不会破坏父路由

时间:2014-01-14 19:00:56

标签: asp.net-mvc-3 iis-7.5

我需要为开发人员离开的应用程序绕过MVC路由 - 我们将完全替换它,但是现在如果我可以绕过这一条路线,它将为​​我们节省大量时间。

路线是(例如)www.this.site/path/subpath

由于它在IIS上,我可以利用默认文档并创建以下文件夹/文件结构:/path/subpath/index.htm

但是,如果我这样做,我将“打破”父级www.this.site/path路由(它会抛出403 - Forbidden:Access被拒绝)因为我现在有一个实际的文件夹,其中/ path /路线是。

有没有办法绕过这个/让IIS推迟到/ path /上的MVC但仍然处理子html文件? 谢谢。同样,这不是一个长期的解决方案,而是一个解决方案,直到我们完全可以替换应用程序。

1 个答案:

答案 0 :(得分:0)

也许更好的解决方法是使用IIS AAR模块,它是应用程序的反向代理功能。

这样做:

a)在应用程序的自己的站点上站起来正确的路径 - 所以它应该像http://localhost:1234/path/subpath/index.htm

那样工作

b)安装IIS AAR模块并使用WebPI和IIS管理工具启用反向代理功能

c)忽略应用程序中的/ path / subpath路径

d)将/ path / subpath的虚拟目录添加到IIS

e)配置为反向localhost:1234或您配置站点的任何端口

这将使遗留应用程序完全分离,同时保持面向公众的URL看起来正确适用于世界其他地方。