如何在IIS 7上设置子域名

80

我有一个部署在IIS 7服务器上的网站: WWW.example.COM

我想创建几个子域名,看起来像 SUBDOMAIN1.example.COM

我创建了一个IIS网站,并将绑定设置为http、端口80、我的服务器IP地址和SUBDOMAIN1.example.COM,物理路径为example.COM下的文件夹

我重新启动了网站,然后点击浏览,浏览器打开的地址是: http://SUBDOMAIN1.example.COM

但是网站没有显示出来。

我需要在DNS中做些什么吗?


2
你应该选择一个答案。 - surfasb
4个回答

120

这个问题让我疯狂......基本上你需要两件事:

1) 确保你的DNS设置指向你的子域名。这意味着要确保你的DNS中有一个A记录指向你的子域名,并将其指向相同的IP。

2) 必须在IIS 7中添加一个名为subdomain.example.com的额外网站

  • Sites > Add Website(网站 > 添加网站)
  • 网站名称:subdomain.example.com
  • 物理路径:选择子域目录
  • 绑定:与example.com相同的IP
  • 主机名:subdomain.example.com

4
网站名称是否起到了实际作用? - Valentin Kuzub
3
3年过去了,它仍然简单而准确。谢谢! - Jon Bellamy
6
请确保您的DNS设置指向您的子域名。我该在哪里检查这个? - Peter PitLock
1
@PeterPitLock 和其他想知道的人。DNS 是一项服务,将“example.com”转换为真实 IP 地址。通常您的域名提供商也会提供 DNS 以及在其中创建额外条目的方法。 - przemo_li
2
如果添加DNS配置部分会很好。 - ibubi
显示剩余3条评论

9

2
如果有人想知道完整的设置步骤,可以参考@DotNetMensch的第一步和第二步。 - przemo_li
仅当所有站点都在同一服务器上时才有效。在我的情况下,www站点位于一个服务器上,而所有子域都位于另一个服务器上。 - Qua285

6
如果您的电脑找不到与SUBDOMAIN1.example.COM相关联的IP地址,那么它将无法找到该网站。
您需要更改hosts文件(这样至少可以进行测试-这将是本地更改,仅适用于您自己),或更新DNS以便名称正确解析(这样全世界的人都能看到它)。

我需要在运行时实现这个功能,以便客户可以创建自己的子域。因此,hosts文件对我来说不是一个好的解决方案。 - Tal Cohen
我迫不及待地等待DNS服务器的更新,因为这必须立即发生。现在我尝试通过Plesk(CMS)创建子域,但似乎也无法正常工作。我本来可以使用IIS 7重写工具将路径重写到我的子域上...但如果我这样做,我实际上并没有在IIS服务器上创建网站/虚拟目录,而且我不能限制子域的带宽... - Tal Cohen
12
@Tal-子域名和域名通过DNS传播,这需要时间。这些是互联网运作的基础。也许你需要考虑不同的方法来解决你所面临的问题。 - Oded

0

正如DotNetMensch所说,但您不需要在IIS中添加另一个站点,因为这可能会导致进一步的问题并使事情变得更加复杂,因为您将在网站内部拥有一个网站,因此文件路径、主页面路径和web.config路径可能需要更改。您只需要编辑现有站点的绑定并在那里添加新的子域名。

所以:

  1. 将子域名添加到DNS记录中。我的主机(RackSpace)使用Web门户来执行此操作,因此您只需登录并转到网络->域(DNS)->操作->创建区域,并将您的子域名输入为mysubdomain.domain.com等,将其他设置保留为默认设置

  2. 转到IIS中的域,右键单击->编辑绑定->添加,并添加您的新子域名,其余内容保持不变,例如mysubdomain.domain.com

您可能需要等待5-10分钟以使DNS记录更新,但这就是您所需要的。


@DotNetMensch说的与你所说的相反,“你必须在IIS中拥有一个额外的网站”。子域名的主要用途是提供单独的网站。通过不绑定到特定的主机名,您可以获得您所提出的相同效果。 - cchamberlain
@Damo - 我很难理解这个建议。子域名的目的不是指向自己的内容/应用程序(例如forum.site.com)吗?你的方法只是让URL落在站点路径中定义的主站点上。这是相当糟糕的建议,不是吗? - stigzler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接