2

我们有一个 MVC 应用程序,可以从两个单独的网站访问。默认网站很好,但是如何将第二个网站设置为在特定控制器中启动?

我们的默认站点是www.mysite.com,我们想为标题添加第二个 IIS 站点,www.subdomain.mysite.com以便用户访问www.subdomain.mysite.com/controller

但是我怎样才能告诉 IIS 以www.mysubdomain.mysite.com特定的控制器操作启动mycontroller呢?

4

2 回答 2

1

我会考虑配置 URL 重写,以便将请求www.mysubdomain.mysite.com视为对www.mysubdomain.mysite.com/controller.

您可以使用Ionics Isapi Rewrite Filter

Ionic 的 Isapi 重写过滤器,又名 IIRF,是一个小型、免费、易于使用的 URL 重写 ISAPI 过滤器。它结合了良好的价格(免费!)和良好的功能。它快速而强大。它适用于 IIS 6.0 及更高版本。

于 2012-07-10T13:33:10.670 回答
1

我最终AppSettings在 web.config 中添加了一个值,并根据该值调整了应用程序的默认路由。

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

于 2012-07-10T14:24:55.493 回答