我们有一个MVC应用程序,可以从两个不同的网站访问。默认网站没问题,但是如何设置第二个站点以在特定的Controller中启动?
我们的默认网站是www.mysite.com
,我们想为标题www.subdomain.mysite.com
添加第二个IIS网站,该网站应该将用户带到www.subdomain.mysite.com/controller
但是如何通过特定的控制器操作www.mysubdomain.mysite.com
告诉IIS启动mycontroller
?
答案 0 :(得分:1)
我会考虑配置网址重写,以便将www.mysubdomain.mysite.com
的请求视为www.mysubdomain.mysite.com/controller
的请求。
您可以使用Ionics Isapi Rewrite Filter。
Ionic的Isapi Rewrite Filter,又名IIRF,体积小,免费,易于使用, URL重写ISAPI筛选器。它结合了良好的价格(免费!)和良好的价格 特征。它快速而有力。它适用于IIS 6.0及更高版本。
答案 1 :(得分:1)
我最终在web.config中为AppSettings
添加了一个值,并根据该值调整了应用程序的默认路由。
public static void RegisterRoutes(RouteCollection routes)
{
var defaultController = ConfigurationManager.AppSettings["DefaultController"];
if (string.IsNullOrEmpty(defaultController))
defaultController = "Home";
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = defaultController, action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
...
}
这允许我托管任意数量的IIS站点,每个站点都可以从应用程序中的不同控制器开始。