【发布时间】:2010-01-20 18:52:36
【问题描述】:
我正在尝试在现有应用程序的子目录中部署 ASP.NET MVC 应用程序,但遇到了一些路由问题。我已经设置了文件夹结构,以便 MVC 应用程序的所有二进制文件和配置文件都正确位于根目录中,而其余内容位于子目录中。此外,我更新了 MVC 应用程序中的所有路由以反映子目录;但是,对应用程序的每个请求都会产生:
传入的请求不匹配 任何路线。
所有定义的路由都被忽略,包括默认路由:
routes.MapRouteLowercase(
"Main_Default",
"blog/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
我尝试启用RouteDebug 来测试问题,但即使这样也没有被路由到。关于我还能尝试什么的任何建议?
注意:这个问题不是duplicate。
【问题讨论】:
-
您能在 global.asax 中显示您的路线设置吗?你可以让默认页面加载吗?
-
我无法加载任何页面。我什至无法获取到 {*path} 的路线。在将应用程序移动到子目录之前,路由代码都正常运行。
-
"我已设置文件夹结构,以便 MVC 应用程序的所有二进制文件和配置文件都正确位于根目录中,而其余内容位于子目录中。" - 你故意这样做是有原因的吗?这是没有必要的(哎呀,我什至从未想过可能)。为什么不直接将 MVC 应用程序作为自包含应用程序安装在子目录中?
-
@Kurt:由于托管公司的限制阻止每个帐户拥有多个应用程序,因此我不得不采用这种不受欢迎的 hack。我必须说,让我有点想念 PHP。
标签: asp.net-mvc routing subdirectory