IIS Express全部删除子域名网址

时间:2011-04-10 16:02:21

标签: asp.net asp.net-mvc-3 iis-express

我正在寻找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应用程序。

2 个答案:

答案 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是否以这种方式运作。