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

本文关键字:设置 自定义 路由 通配符 Nancyfx | 更新日期: 2023-09-27 18:19:03

这里已经有人问过这个问题,但我不确定是否提供了足够的细节来提供答案。

我想实现自定义路由,使我能够根据URL的子域匹配路由段。

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

// 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路由是一个"包罗一切"的任何请求进来的URL不是www.mysite.com。我可以检查哪个"虚拟子域"正在被访问,并相应地显示内容。

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

我理解自定义路由是通过继承TrieNode来实现的,正如Phill Haydon在这里的帖子。是否有一种方法,我可以访问完整的URL从内部的Match方法在这里?还是有更好的方法?

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

我认为你可以使用路由条件:https://github.com/NancyFx/Nancy/wiki/Defining-routes#condition在路由条件中,你可以访问NancyContext,它可以让你访问请求的URL。