我根据http://www.cnblogs.com/luanwey/archive/2009/08/12/1544444.html的帖子,做了一个以{controller}作为二级域名的例子,{controller}.test.com。
但是现在碰到一个问题,例如,我有一个IPController,ip.test.com可以正常访问到IPController内的action Index,但是我要访问IPController下的另一个action时如search时就报404错误 。
但是如果加上控制器则可以访问如ip.test.com/ip/search正常,ip.test.com/search则报404错误,我们用二级域名的目的就是要实现ip.test.com/search,否则就没必要使用了。
我试了一下是可以的,路由规则是这么写的:
routes.Add("DomainRoute", new DomainRoute( "{controller}.test.com", "{action}/{id}", new { controller = "Home", action = "Index", id = "" } ));
示例代码下载:
是的路由规则是这样写的。
我好像发现问题了,好像是我的id中带.的关系。
因为我是做IP地址和域名查询,所以id中会有. 。不知要怎么修改了。
像这样http://ip.test.com/search/www.baidu.com,它报404错误。