IIS 7:从不存在的子域重定向到子文件夹

IIS 7:从不存在的子域重定向到子文件夹

我正在开发 ASP.NET MVC 多租户应用程序。

现在我设法创建动态子文件夹,例如某人使用用户名“bob”注册并访问以下网站:

domain.com/bob

我的下一个目标是提供子域名:bob.domain.com,而不是子文件夹。

我发现使用 ASP.NET 和 DNS WMI 创建动态子域非常复杂。有没有办法告诉服务器它必须从 bob.domain.com 重定向/重写到 domain.com/bob ?

答案1

您可以为 *.domain.com 创建通配符条目,这样您不需要在每个新帐户上创建 DNS 条目。

您还可以添加通配符 IIS 绑定,以便特定 IP 的所有内容都绑定到该站点。这样您就不需要实时添加大量主机标头。

URL 重写是执行您所要求的操作的一个选项。您可以查看具有 ^(^.)+.domain.com$ 模式的 {HTTP_HOST}。这将获得具有 C:1 反向引用的 everything.domain.com。

或者,另一种选择是直接从 MVC 检查 Request.ServerVariables["HTTP_HOST"]。您可以从代码中完全访问域名,因此您在那里拥有很大的灵活性。

相关内容