如果有人能够帮助我解决这个问题,那将是非常好的,因为我是web开发和ASP.NET MVC的新手。我的目标是设计一个可以帮助用户创建自己的迷你网站的MVC应用程序。每个用户将获得他们自己的迷你网站和管理面板来更改其网站的页面和模板。我认为有些脚本可以实现类似的功能,但是我们需要根据自己的具体要求创建自己的脚本 为了实现这一目标,我创建了一个主要的mvc 3应用程序,并在其下创建了一个区域作为Site。我们希望用户拥有自己的子域名网址,例如www.site1.mainsite.com,其中site1是用户迷你网站的名称。对于我加2路一个主站点,另一个像MVC3站点生成器应用程序设计
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new[] { "MainSite.UI.Controllers" }
);
区在区注册
context.MapRoute(
"Sites_default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new {controller = new SiteConstraint()},
new[] { "MainSite.UI.Areas.Site.Controllers" });
他们都具有相同的URL类型,但区域航线有一个约束条件,其中我加入像
var url = httpContext.Request.Headers["HOST"];
var storeName = url.Split('.')[1];
var match = storeName != "mainsite";
return match;
到目前为止它的工作,但我不认为它是一个很好的设计。除此之外,我还需要添加两个区域,一个是siteadmin,另一个是博客。 什么应该是实现这一目标的最佳途径?
- 子域网址应直接向区“网站”
- 子域网址/管理员应导入区“siteadmin”
- 域/博客应该被路由到博客领域。
- 域其他URL应该由主控制器预先处理
感谢