IIS重写的特定于域的ASP.NET MVC5路由

时间:2015-06-24 12:15:56

标签: asp.net-mvc iis rewrite

我有一个MVC5网络应用程序,它映射到域www.example.com。我在我的webapp中使用基于{area}/{controller}/{action}的基本路由,并且需要将子域映射到特定路由。

例如:

subdomain.example.com需要始终服务于http://example.com/area/controller/action

的内容

当然,路由必须与ASP.NET MVC5路由一起使用,并且还需要保留所有查询参数和“hashbang”数据,以便:

http://subdomain.example.com#/somethinghere?var=value重定向来自http://example.com/area/controller/action#/somethinghere?var=value

的内容

所以问题是:这是否可以通过IIS路由/重写实现,如果是,如何实现?另一个选择是编写自定义MVC5路由绑定到域名,我很乐意看到有人指出我正确的方向。

1 个答案:

答案 0 :(得分:0)

这是不可能的,哈希之后的任何内容都只是客户端,浏览器不会将其发送回服务器。由于它没有发送到服务器,因此无法重写它。

作为替代方案,您可以考虑将路由更改为使用pushstate而不是hashstate