我正在开发一个ASP.NET MVC多租户应用程序。
现在我设法创build了dynamic的子文件夹,比如有一个使用用户名“bob”注册并获得以下网站:
domain.com/bob
我的下一个目标是提供子域名:bob.domain.com而不是子文件夹。
我发现使用ASP.NET和DNS WMI创builddynamic子域是非常复杂的。 有没有办法告诉服务器,它必须从bob.domain.comredirect/重写到domain.com/bob?
您可以为* .domain.com创build通配符条目,以便您不必为每个新帐户创build一个DNS条目。
您也可以添加通配符IIS绑定,以便特定IP的所有内容都将绑定到该站点。 您不需要实时添加大量的主机头文件。
URL重写是做你要求的一个选项。 您可以使用^(^。)+。domain.com $的模式监视{HTTP_HOST}。 这将得到everything.domain.com与C:1的反向引用。
或者,另一个select是直接从MVC检查Request.ServerVariables [“HTTP_HOST”]。 您可以从代码中完全访问域名,所以您在这里有很大的灵活性。