所以我正在开发一个有多个领域的项目,我们想配置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”
这可能吗?
谢谢, 约翰
答案 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
上,domain
和www.domain
上的您的网站,smtp.domain
}),它不应该用于分隔单个网站的部分。此外,许多搜索引擎将http:/subdomain.example.com与http://www.example.com分开,因此您的搜索引擎优化值会逐渐下降。