ASP.NET MVC-3将添加/映射到别名的虚拟目录
我一直关注域路由。我已经能够为不同的子域路由到控制器。但我不知道如何路由到虚拟目录。如您所见,这是一个路由到普通mvc控制器的示例ASP.NET MVC-3将添加/映射到别名的虚拟目录,asp.net,asp.net-mvc-3,url-routing,iis-7.5,windows-server-2008-r2,Asp.net,Asp.net Mvc 3,Url Routing,Iis 7.5,Windows Server 2008 R2,我一直关注域路由。我已经能够为不同的子域路由到控制器。但我不知道如何路由到虚拟目录。如您所见,这是一个路由到普通mvc控制器的示例 routes.Add("DomainRoute", new DomainRoute( "home.example.com", // Domain with parameters "{action}/{id}", // URL with parameters new { controller = "Home"
routes.Add("DomainRoute", new DomainRoute(
"home.example.com", // Domain with parameters
"{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
));
由于我的博客位于虚拟目录中,我需要将路由添加到此名为“~/blog”的虚拟目录
我尝试过这样的代码,但没有好结果
routes.Add("DomainRoute", new DomainRoute(
"blog.domain.com", // Domain with parameters
"blog", // URL with parameters
new { controller = "blog" } // Parameter defaults
));
如果有人能对此有所了解,那将是令人惊讶的。这里的含义是虚拟文件夹与它所处的MVC应用程序完全不同——如果是这样的话,您是否需要使用MVC路由,因为您一开始就不需要任何MVC资源?只需将子域配置为指向IIS中的适当文件夹,并完全绕过MVC路由,可能会更容易。您可以尝试将博客作为主web应用程序的MVC区域。您创建了一个名为blog的新区域。这将在主webroot中创建一个名为“Areas/blog”的文件夹。然后,您可以将“blog”文件夹转换为指向您的blog应用程序的虚拟目录 我在最近的一个网络项目中为我的管理后端做了这件事。我用了这篇博文,效果很好。非常简单,使您的应用程序保持整洁 当你真正进入“博客”区域时,你的动作链接和一切都正常工作。您只需将“Area='blog'”添加到将您从一个区域移动到另一个区域的链接中
创建博客区域后,请查看它创建的路由文件。我希望这是有意义的。虚拟目录是否总是博客?虚拟目录是URL的一部分,所以可能是blog/{action}/{id}它不起作用。让我澄清一下。它是共享windows主机上的虚拟目录。它不是承载在域根目录上的主站点的一部分。如果不指定域,会发生什么行为?IIS将把请求留在mvc应用程序中,您可以从那里开始。我认为可能还有其他一些问题使它无法工作,但它似乎不需要域路由。哦,我理解这个问题。现在我明白了更多:)。那么,博客与主页位于不同的虚拟目录中?对不起,guyz。我道歉。现在,我已经能够创建子域指向一个网站与我的主机提供商的帮助。在这种情况下,不需要做域路由。无论如何,谢谢。:)托管提供商不允许创建这样的子域。我只能创建别名。好主意。我会试试让你知道的。我会给你赏金,因为赏金很快就到期了。。虽然现在还不能完成编译。。BlogEngine.Net博客目录中存在大量错误。。说“找不到命名空间资源”,我没有任何使用BlogEngine.Net的经验,因此无法提供这方面的任何信息。我希望你能弄明白。也许发布一些错误代码,我会看看是否能找到任何东西。