使用 IIS 的 Windows 2003 服务器中的 ASP.NET MVC4 应用程序位于虚拟目录存储中并具有存储控制器,eq url 可以
http://mysite.com/store/Store/Details?product=C201S
此应用程序也需要从 root 访问,因为
http://mysite.com/Store/Details?product=C201S
因为这个应用程序目录的副本已经创建并且默认的 web 应用程序指向它。但是http://mysite.com/Store/Details?product=C201S返回错误
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /Store/Details
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
不包含 url 中的 Store 控制器的链接可以正常工作。它看起来像商店应用程序和商店控制器名称冲突。如何解决这个问题?
global.asax.cs 包含默认路由:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//http://haacked.com/archive/2010/02/12/asp-net-mvc-2-optional-url-parameters.aspx
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}