如何在Nancyfx中为通配符子域设置自定义路由

时间:2014-08-21 15:04:48

标签: c# routing nancy

此问题已经被问到here,但我不确定是否提供了足够详细的答案。

我想实现自定义路由,以便能够根据网址的子域匹配路段。

例如,我希望能够做类似的事情:

// This route should match where the URL is 
//    www.mysite.com
Get["/"] = _ => return "Home";

// This route should match where the URL is 
//    {anything else}.mysite.com
Get["/:subdomain"] = _ => return "Subdomain home";

我希望:subdomain路线能够成为一个全能的路线。对于任何带有www.mysite.com的网址的请求。我可以查看哪个虚拟子域名'正在访问并相应地显示内容。

这是为了允许用户创建自己的帐户并接收自己的子域名,例如joebloggs.mysite.com

据我所知,根据Phill Haydon的帖子here继承自TrieNode,可以实现自定义路由。有没有办法可以在Match方法中访问完整的URL?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

我认为你可以使用路线条件来做到这一点:https://github.com/NancyFx/Nancy/wiki/Defining-routes#condition 在路由条件中,您可以访问NancyContext,这样您就可以访问请求URL。