【发布时间】:2013-05-26 05:04:35
【问题描述】:
(您可以直接跳到问题,但上下文在背景部分。)
技术背景
- Windows 8
- IIS 7
背景:
和其他几个人一样,我使用 IIS,有时我需要设置站点的本地版本。现在,在设置不同的站点时,为它们分配不同的端口是很常见的,这样它们就不会重叠。所以你可以让你的站点 A 在端口 80,你的站点 B 在端口 81 等等。
现在,我想设置绑定,以便能够在端口 80 下拥有多个站点,并且通过标头主机区别,我可以同时为这些站点提供有意义的 URL。
执行此操作的一个选项是向您的主机文件添加条目,例如:
127.0.0.1 siteA.com
127.0.0.1 siteB.com
有了这个,您应该能够浏览到 siteA.com 或 siteB.com 并在本地运行。
但我想再进一步,因为 localhost 已经设置为匹配 127.0.0.1,所以:
问题:
我已将 IIS 绑定设置为:
site host header port
siteA siteA.localhost 80
siteB siteB.localhost 80
我希望我能够浏览到 http://siteA.localhost/ 和 http://siteB.localhost/ 并获取我的网站。
但是,当我浏览时,我的请求似乎从未到达 IIS,并且地址没有解析。
为什么这不起作用?
更新:
我选择了 chue x 的答案,因为他解释了为什么这不起作用。对于那些可能遵循我相同路径的人,您可能会想“好吧,我可以在 hosts 文件中添加 *.localhost 并且应该完成。”甚至切换到*.local 或*.localdev.com 或类似的东西。
但是,这不起作用:Wildcards in a Windows hosts file
正如 chue x 所指出的,我们现在唯一的方法是继续向主机文件添加条目,或者按照他们在链接问题中的解释,使用另一个 DNS 服务器。
【问题讨论】:
-
我想我明白你在说什么。所以你试图浏览到
siteA.localhost而不在主机文件中添加条目? -
@chuex 非常感谢。有了您的回答和其他一些发现,我现在明白了为什么这不起作用,并且我试图实现的目标无法以这种方式实现。
-
你的hosts文件倒了,IP地址在前。
-
@RenniePet 谢谢!我可能在写问题的时候写错了。我刚刚修好了。
标签: iis iis-7 configuration dns localhost