8

可能重复:
是否可以基于子域创建 ASP.NET MVC 路由?

我将建立一个网站,允许用户创建他们自己的虚拟商店,由我的网站托管。

想想易趣;让小企业创建自己的商店。

例如:

www.foo.com                 - The main website.
www.georgestires.foo.com    - "George's Tires" online store.

我会让用户在一定程度上创建他们自己的样式表和自定义,但那是以后的事了。现在我想知道如何在 MVC 3 网站上实现此功能。

我真的是在零基础上,没有腿可以站立。任何和所有的建议表示赞赏。我知道在 IIS 中我可以创建一个“bar.foo.com”子域绑定并直接流向我的 ASP.Net MVC3 应用程序,但这是否意味着每次有人创建他们的商店时我都必须以编程方式创建一个新的捆绑?

这甚至可能吗?我应该研究这种方法吗?

4

3 回答 3

9

bindDNS 服务器和 Microsoft DNS 服务器都允许设置与域中wildcard entry任何不存在的条目匹配的a:

*.example.com.   3600 IN  CNAME host1.example.com.

然后在 IIS 中设置一个 URL 重写规则,将表单的 URLhttp://subdomain.yourdomain.com/转换为,比如说,http://yourdomain.com/?root=subdomain

这将允许您使用数据库管理这些克隆的站点。

唯一的缺点是DNS system不允许您设置表单的通配符条目www.*.yourdomain.tld

于 2012-10-21T01:57:16.977 回答
0

我不知道在 Windows 世界中是否可以在 Apache 中执行“url rewrite”链接。

所以人们会看到:www.georgestires.foo.com,但实际上是 www.foo.com/georgestires。这样您就不必为每个帐户创建真正的子域。

于 2012-10-21T01:58:42.803 回答
0

您需要DNAME记录指向您的服务器,只需将 IIS 配置为接受端口 80 上的所有请求并发送到您的应用程序。比检查主机头来查看传入域是什么。

现在对于 SSL,您需要做更多的工作。再次 *.mydomain 证书可能适合您。

于 2012-10-21T02:06:59.353 回答