原有的一个ASP.NET MVC的项目只是一个域名建站点指向,现在由于项目大了,需要拆分成三个独立域名站点分别指向不同的首页,但是程序是一套程序,问题出来了,首页怎么指向的问题,于是看到Global.asax里面的routing规则,发现可以根据初始化访问的不同域名设置不同的默认首页,然后每个域名建立一个默认页面里面重定向到各自的首页,然后IIS中建立三个站点分别将默认页面设置为各自的重定向页面,不再只是用Default.aspx页面了,问题解决。
其实很多时候问题不一定要解决得那么华丽,实用即可!
Global.asax代码如下:
String HostName = HttpContext.Current.Request.Url.Host.ToString().ToLower(); //获取URL主机地址 if (HostName.IndexOf("mikel") >= 0) { routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults ); } if (HostName.IndexOf("kiwing") >= 0) { routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "User", action = "Index", id = "" } // Parameter defaults ); }
Default.aspx.cs页面代码:
public void Page_Load(object sender, System.EventArgs e) { Response.Redirect("~/Home/Index/"); }
KiwingIndex.aspx.cs页面代码:
public void Page_Load(object sender, System.EventArgs e) { Response.Redirect("~/User/Index/"); }