如何在MVC中创建动态子域
本文关键字:动态 创建 MVC | 更新日期: 2023-09-27 18:04:10
我已经托管了我的网站www.sample.com,但我需要
- -user1.sample.com
- -user2.sample.com
- -user3.sample.com
是可能的吗?
您实际上并没有"创建"新的子域名-相反,您设置了"通配符"条目,作为所有未解析名称的catch- call:
- 您需要一个通配符DNS记录,以便所有子域解析到相同的主机(IP)地址。并非所有的DNS提供商都提供此服务,因此您可能需要在必要时切换DNS服务提供商。 然后你需要配置你的web服务器来处理这些请求。你有两个选择:
- 使用端点绑定(这样你的IIS网站将处理所有请求到一个给定的IP地址和端口号)。在IIS 10.0之前,这是支持通配符或任意子域的唯一方法。这种方法需要为每个网站提供单独的IP地址。
- 使用合适的通配符域绑定。(IIS最终在10.0版本中添加了对此功能的支持)[0](IIS 10.0与Windows 10和Windows Server 2016一起发布)。这在IIS 8.5或更早版本中不支持。
- 您的应用程序代码需要检查HTTP
Host:
标头以确定被检查的内容。如果你正在使用ASP。. NET与路由(其中ASP。. NET MVC自动)你可以使用一个自定义的RouteBase
子类,让你在路由中使用Host
头值,按照这个例子:http://benjii.me/2015/02/subdomain-routing-in-asp-net-mvc/
请注意,步骤2的两个选项都需要客户服务器配置选项(ip地址绑定或运行Windows server 2016)。如果你使用的是共享主机提供商(HostGator, DreamHost等,甚至Azure网站),那么你将无法使用这些服务,因为他们通常不向客户提供这些服务——但无论如何,请询问他们是否可以支持你。