iis 中具有多个子域的 asp.net mvc 站点

Posted

技术标签:

【中文标题】iis 中具有多个子域的 asp.net mvc 站点【英文标题】:asp.net mvc site with multiple subdomains in iis 【发布时间】:2014-03-30 06:11:27 【问题描述】:

我想捕获子域作为参数并根据子域显示适当的信息。

例如 user1.domain.com 和 user2.domai.com 每一个都会得到相应的信息。

可能重复:Is it possible to make an ASP.NET MVC route based on a subdomain?

到目前为止我做了什么:

我有一个具有以下 ip 地址的 dns 服务器:192.168.1.11 和一个 Web 服务器,它托管了一堆 ip 为 192.168.1.12 的网站

应捕获子域的站点名为 pakdomain.dev

我尝试了两种情况:

在 iis 上定义 pakdomain.dev 区域并在 dns 服务器上以 www 作为主机和 ip 192.168.1.12 创建和“A”记录后

我已经创建了另一个“A”记录,以“*”作为主机并将其通配到 ip webserver

其次,我创建了另一个“CNAME”记录,以“*”作为主机并将其通配到 www.pakdomain.dev

在 iss 中,我将 www.pakdomain.dev 和 pakdomain.dev 绑定到一个网站。

当我转到 www.pakdomain.dev 或 pakdomain.dev 时,上述情况都没有对我有用,但是当我尝试转到 user1.pakdomain.dev 或 user2.pakdomain.dev 之类的地址时,它会运行到 iis 上的默认网站。

id 应该是什么?我应该如何在我的应用中捕获子域?

【问题讨论】:

【参考方案1】:

试试这个

var domain = HttpContext.Current.Request.ServerVariables["HTTP_HOST"];

这应该为您提供主机头信息,然后使用该值路由到您想去的任何地方。

【讨论】:

此语句适用于 iis 到达我的应用当前它没有到达我的应用

以上是关于iis 中具有多个子域的 asp.net mvc 站点的主要内容,如果未能解决你的问题,请参考以下文章

ASP.Net MVC 允许 URL 中的子域

更改 ASP.NET MVC 或 IIS 中的 URL 根路径

(Asp.Net MVC / Web-Api)中具有相同身份验证系统的多个项目

IIS下具有SSL的多个子域[关闭]

如何在 Asp.net MVC C# 中使用 Linq 从多个表中选择具有最大计数值的记录

在 ASP.NET MVC 项目中设置具有不同帐户和视图的多个公司的最佳实践