子域概念的优点是什么?

时间:2014-02-08 09:21:04

标签: asp.net-mvc asp.net-mvc-routing subdomain

我想知道子域的优势是什么。假设我有一个域名,如www.bba-reman.com,我们的网站在同一个项目中有论坛,人们访问我们网站的论坛页面,输入网址,如www.bba-reman.com/forum/index.aspx,但我经常看到许多网站的论坛部分都有子域名,人们可以像

那样访问他们的论坛

www.forum.bba-reman.com/index.aspx或forum.bba-reman.com/index.aspx

或www.forum.bba-reman.com

1)所以我想知道拥有子域名的优势是什么?

2)如何为我们托管网站的论坛页面创建子域名。简要说说我需要做什么设置?

那么如何编写使用户能够到达正确页面的路由代码,假设当用户输入www.forum.bba-reman.com/index.aspx然后请求进入论坛控制器操作时将是索引等

这里我得到了一个示例代码,它创建了一个新路由并将其添加到global.asax中RegisterRoutes中的routes集合中,但不知道是否解决了我的目的,因为我是MVC的新手?

public class ExampleRoute : RouteBase
{

    public override RouteData GetRouteData(HttpContextBase httpContext)
    {
        var url = httpContext.Request.Headers["HOST"];
        var index = url.IndexOf(".");

        if (index < 0)
            return null;

        var subDomain = url.Substring(0, index);

        if (subDomain == "user1")
        {
            var routeData = new RouteData(this, new MvcRouteHandler());
            routeData.Values.Add("controller", "User1"); //Goes to the User1Controller class
            routeData.Values.Add("action", "Index"); //Goes to the Index action on the User1Controller

            return routeData;
        }

        if (subDomain == "user2")
        {
            var routeData = new RouteData(this, new MvcRouteHandler());
            routeData.Values.Add("controller", "User2"); //Goes to the User2Controller class
            routeData.Values.Add("action", "Index"); //Goes to the Index action on the User2Controller

            return routeData;
        }

        return null;
    }

    public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
    {
        //Implement your formating Url formating here
        return null;
    }
}

http://blog.maartenballiauw.be/post/2009/05/20/ASPNET-MVC-Domain-Routing.aspx

1 个答案:

答案 0 :(得分:0)

  

子域名是逻辑上属于您网站的网站。

根据我在单个域中的知识,您可以创建多个域。

  

如果您想加快您的网站速度,可以通过使用子域来为浏览器打开更多连接,例如图片,javascript,css等。

例如,如果您购买了example.com,则可以使用以下子域名,这些子域名都位于example.com的“我”下:

test1.example.com
test2.example.com
test.example.com