我正在开发一个 ASP.NET MVC 多租户应用程序。
现在我设法创建了动态子文件夹,例如有人用用户名“bob”注册并获得以下网站:
domain.com/bob
我的下一个目标是提供子域:bob.domain.com 而不是子文件夹。
我发现使用 ASP.NET 和 DNS WMI 创建动态子域非常复杂。有没有办法告诉服务器它必须从 bob.domain.com 重定向/重写到 domain.com/bob ?
我正在开发一个 ASP.NET MVC 多租户应用程序。
现在我设法创建了动态子文件夹,例如有人用用户名“bob”注册并获得以下网站:
domain.com/bob
我的下一个目标是提供子域:bob.domain.com 而不是子文件夹。
我发现使用 ASP.NET 和 DNS WMI 创建动态子域非常复杂。有没有办法告诉服务器它必须从 bob.domain.com 重定向/重写到 domain.com/bob ?
关于基于子域的路由,您应该参考以下 SO 帖子。
**对不起,我通常不喜欢只链接到答案,但在这种情况下,我不想从原始海报中获得解决方案的功劳*
编辑
查看解决方案 2 以跟进我在下面的评论作为工作示例。您可以忽略 ISAPI 重写,因为 MVC 路由引擎会为您执行上述来自 SO 的解决方案。以下是您可能会发现有用的片段:
设置 DNS 服务器
将以下条目添加到您的 DNS 服务器并相应地更改域和 IP 地址。
*.example.com IN A 1.2.3.4 设置 Web 服务器
我们假设您已经为您的主站点创建了一个网站:www.example.com。因此,让我们仔细检查以确保它能够接受子域的所有变体。
* Open IIS Management Console and select your web site. * Right click on it and select Properties. * Click on Web Site tab. * Click on Advanced button. * Make sure there is one entry under the Multiple identities for this
主机标题名称字段为空白的网站。此条目将拦截所有到达此 IP 地址的请求。* 确保 IP 地址仅供本网站使用。