我正在建立一个网站,让企业可以注册自己的帐户,该帐户应位于http://businessname.example.com,每次都会更改“商家名称”。
我想在Windows服务器(IIS 7)上执行此操作,但我不确定如何处理它。
答案 0 :(得分:5)
通过http://forums.asp.net/t/874598.aspx
如果您的DNS提供商(即ISP)具有“通配符”选项,您可以设置* .mydomain.com - > MYIP
下一步。 选项1 创建一个脚本,为IIS中的每个子域创建1个站点 选项#2 创建一个url_rewrite脚本,用于重写URL以便即时更正文件夹。
选项2可能就是您所寻找的(强烈建议并优先选择选项1)。
有关在iis7上重写网址的更多信息:http://learn.iis.net/page.aspx/460/using-url-rewrite-module/
IIS 7.0的Microsoft URL重写模块提供灵活的基于规则的重写引擎>可用于执行广泛的URL操作任务,包括但不限于:
- 使用动态网络应用程序启用用户友好和搜索引擎友好的URL;
- 根据HTTP标头和服务器变量重写URL;
- 网站内容处理;
- 根据网址细分或请求元数据控制对网站内容的访问。
网址重写选项可以让数十万家公司轻松上手,他们的名字可以从数据库中读取,网址重写可以处理重定向。在此之后,您可以忘记它(大部分),因为它将继续为所有未来注册的公司工作。
答案 1 :(得分:3)
首先,您必须配置DNS服务器以将* .example.com解析为服务器的IP。
然后,您有两个选择:
答案 2 :(得分:3)
通常,更好的方法(如果可能)是不为每次注册使用Host Headers或单独的IIS站点。只需为该应用程序提供一个IP地址,以响应端口80(或您使用的任何端口)上的所有请求,并让您的应用程序根据请求检测主机头。这样,如果您有1,000个注册,则最终不需要在操作系统/服务层正确配置1,000个“东西”。
或者,如果您只是想要代码,不确定您正在查看哪种语言,但请参阅下面的C#...
答案 3 :(得分:0)
这涉及:
一旦以编程方式添加主机名,通配符映射就可以解析它。
URL Rewrite选项更干净,但是对于物理域,您可以提供FTP Access和其他东西,因为它将是一个完整的域。
安德鲁