IIS7 URL重写+子域+ ASP.Net MVC2

时间:2010-07-13 22:44:48

标签: asp.net-mvc-2 iis-7 url-rewriting

所以我正在开发一个有多个领域的项目,我们想配置IIS来重写我们的请求以使网址变得更好。我整天都在乱写URL重写模块,但我无法获得理想的结果。

示例:

我目前有一个很长的网址,例如'http://register.example.com/Registration/Register/New',其中Area = Registration,Controller = Register ... 我希望用户通过“http://register.example.com”来请求该站点,并且它命中我已配置为默认为“新”操作的寄存器控制器。因为我给了注册子域,IIS知道它将使用'Registration'区域。

结束网址类似于“http://register.example.com/Register/Finish

这可能吗?

谢谢, 约翰

1 个答案:

答案 0 :(得分:1)

看看你在标签中如何标记MVC,你会发现你可以用一条路线来做到这一点。

    ''# Default Catch All MapRoute
    routes.MapRouteLowercase( _
        "Registration", _
        "{controller}/{action}/{step}", _
        New With {.controller = "Register", .action = "Registration", .step = "New"})

然后,您只需在IIS中创建一个单独的“网站”来托管注册应用程序。


PS ... IMO子域被高估,并且通常是您正在描述的实现的不良做法。子域用于描述物理计算机(您的SQL服务器可能位于sql.domain上,domainwww.domain上的您的网站,smtp.domain }),它不应该用于分隔单个网站的部分。此外,许多搜索引擎将http:/subdomain.example.com与http://www.example.com分开,因此您的搜索引擎优化值会逐渐下降。