如何将IIS中的默认页面设置为Controller?

时间:2012-07-10 12:56:20

标签: asp.net-mvc model-view-controller iis iis-6 startup

我们有一个MVC应用程序,可以从两个不同的网站访问。默认网站没问题,但是如何设置第二个站点以在特定的Controller中启动?

我们的默认网站是www.mysite.com,我们想为标题www.subdomain.mysite.com添加第二个IIS网站,该网站应该将用户带到www.subdomain.mysite.com/controller

但是如何通过特定的控制器操作www.mysubdomain.mysite.com告诉IIS启动mycontroller

2 个答案:

答案 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站点,每个站点都可以从应用程序中的不同控制器开始。