我有一个MVC应用程序已被移动到wwwroot中的子文件夹,并且该子文件夹已通过IIS成为应用程序。因此,在我的登录页面的URL之前看起来像这样:
www.mydomain.com/login
现在看起来像这样:
www.mydomain.com/application/login
应用程序运行正常,它似乎没有影响我的应用程序中的路由或任何链接。但是,它引起了我引用图像src的问题:
<img src="/content/images/myimage.png"/>
正在尝试从网址 www.mydomain.com/content/images/myimage.png 中检索图像,这显然会返回404.
在我的global.asax文件中,我只使用默认路由,我试图修改该路由以将子文件夹作为URL的一部分进行说明:
routes.MapRoute("Default",
"application/{controller}/{action}/{id}",
new { controller = "dashboard", action = "index", id = UrlParameter.Optional });
但是,现在当我尝试转到根网址 www.mydomain.com/application 时,我只是获得一个目录列表!如果我试着直接去控制器,即 www.mydomain.com/application/dashboard ,我会得到404!
任何人都知道如何通过MVC路由处理这种情况?
答案 0 :(得分:4)
希望这会有所帮助。
答案 1 :(得分:0)
试试这个...
routes.MapRoute("Application",
"application/{controller}/{action}/{id}",
new { controller = "dashboard", action = "index", id = UrlParameter.Optional });
routes.MapRoute("Default",
"{controller}/{action}/{id}",
new { controller = "dashboard", action = "index", id = UrlParameter.Optional });