我正在寻找IIS Express中子域catch-all网址的解决方案。
基本上,我环顾四周,找到了如何在IIS Express中创建域/子域。
很容易找到,我所要做的就是在IIS Express的ApplicationHost.config中添加另一个绑定,并将我的hosts文件更改为127.0.0.1到域。
这是IIS express配置文件:
<binding protocol="http" bindingInformation="*:80:domain.com" />
<binding protocol="http" bindingInformation="*:80:sub.domain.com" />
但是,我找不到任何方法来创建一个包罗万象的URL。在某个地方可能有我的视线过度,我甚至尝试过(可能天真地)*:80:*.domain.com
和*:80:*
。
我搜索但无法回答的另一个问题是将IIS表达式完全绑定到一个catch-all网址(例如,每个请求都应通过IIS Express传递给特定端口)。
如果重要,我正在使用ASP.NET MVC 3应用程序。
答案 0 :(得分:8)
不幸的是,我不相信这是可能的,因为IIS不支持通配符域。以下网站详细介绍了可能的解决方法。
http://forums.iis.net/t/1095760.aspx
https://serverfault.com/questions/165660/wildcard-subdomains-on-localhost-using-iis7
Wildcard subdomains in IIS7. Is it possible to make them like it is in Apache?
以下article解释了IIS绑定的工作原理。关于你的第二个问题,文章指出:
最短的绑定是 保留给具有单个IP的服务器 和网站,或者如果你想拥有一个 没有其他约束力的“全能”网站 适合。这种绑定,使用IP 通配符,没有主机头,将是 没有别的时候绝对适用 可以找到绑定匹配。在这 如果绑定只是:
http *:80:
答案 1 :(得分:0)
我对IIS Express并不熟悉,但通常如果您没有设置主机名字段,则IIS将为默认网站上的所有域提供所有请求。所以你基本上会绑定到127.0.0.1:80并且“捕获”所有内容。
但就像我说的那样,我不知道IIS Express是否以这种方式运作。