0

使用 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
    );
}
4

1 回答 1

0

根据我的评论,要使两个 Url 都能正常工作,您应该将虚拟目录的父网站的主目录设置为与虚拟目录相同的目录,此页面将向您展示如何操作。

于 2013-10-16T18:02:12.230 回答