我目前有一个IIS6服务器,承载一个网站/域。 我正在开发另一个网站(完全独立),我想在同一台服务器上托pipe。 这两个域名都是从GoDaddy购买的。
我相信我需要一个服务器端的ISAPI重写filter来内部路由基于域名的传入请求。 我打算使用Ionic的ISAPI重写筛选器来执行此操作,因为它是免费的。 我知道如何安装ISAPI筛选器并将其应用到IIS中的网站,但我不知道如何正确路由传入的请求(基于域)。
另外,我不知道设置多个“网站”或“虚拟目录”是否明智。 我在想,这将取决于如何configuration。
我应该如何去做到这一点?
你根本不需要重写规则,你确实想要设置一个新的网站configuration。 IIS 6可以通过使用新的IP地址(因此服务器有多个IP地址)或使用主机头将网站链接到网站configuration来区分网站。
尝试从这里开始: 在单个服务器上托pipe多个网站(IIS 6.0)并使用主机头在IIS 6.0上托pipe多个网站
我看到这里没有问题。 IIS 6可以托pipe数百个网站 – 即使是在相同的IP地址(https除外,您将需要一个专用的IP地址) – 通过主机头(域名)区分它们。
请阅读此Microsoft支持文章: 如何:使用主机标题名称来configurationInternet信息服务6.0中的多个网站 :
Microsoft Internet信息服务(IIS)允许您使用称为主机标题名称的function将具有相同端口号的多个网站映射到单个IP地址。 通过为每个网站分配唯一的主机标题名称,该function允许您将多个网站映射到IP地址。
我认为Ionic的ISAPIRewritefilter适用于网站,每个网站都有自己的定义文件。 我在IIS服务器上使用了一个类似的filter(ISAPI Rewrite),服务器上的很多网站都没有任何问题。
所有你正在寻找的是主机头。 只要主机标头不同,多个站点就可以共享相同的端口。 转到站点的属性,然后在“IP地址绑定”下拉列表旁边的“高级”button下,可以编辑站点的端口和主机标题。
没有更多的戏剧比。 ;)
Splattne和其他人都是正确的 – 单独的IIS6可以托pipe多个网站。
像IIRF这样的重写器对于重写请求是很有用的。例如,你可以在服务器端重写一个到host1.domain.com的请求,由与host2关联的“正常”的vdir服务。
为了托pipe多个网站,URL重写不是必需的。
添加到每个人的答案,我有一个问题configurationIIS只是为了简单的本地testing环境。 事情是:它不是我们想要的。
因此,收集别人在这里说的话,我认为拥有多个IIS站点的最好方法是使用主机名称 ,这很容易设置 (感谢Moo的链接)。 在IIS 6上,如果你有一个已经创build的站点,那就是“绑定”。 很容易find谷歌的参考 。


然后我需要设置主机文件 。 对于1个站点来说这很简单,但是对于多个站点来说这样做很难,所以我们希望能够在IIS上完成。 没有这样的运气。 只要自己做 。

当然,这就是所有人都已经说过的,除非在DNS和所有这些方面做得更好……但这对于本地testing已经足够了,我认为应该在IIS中构build一个选项来执行此操作。