2011-04-10 36 views
8

我正在寻找IIS Express中子域全部抓取网址的解决方案。IIS Express全部抓取子域url

基本上,我环顾四周,发现如何在IIS Express中创建域/子域。

这很容易找到,我所要做的就是在IIS Express的ApplicationHost.config中添加另一个绑定,并将我的主机文件更改为域127.0.0.1。

这是IIS快递配置文件:

<binding protocol="http" bindingInformation="*:80:domain.com" /> 
<binding protocol="http" bindingInformation="*:80:sub.domain.com" /> 

但是,我找不到任何方法来建立一个包罗万象的URL。我可能在某处看到过我的视线,我甚至尝试过(可能是天真的)*:80:*.domain.com*:80:*

另一个我已经搜索但无法回答的问题是绑定IIS完全表达为一个catch-all url(因为每个请求都应该通过IIS Express传递给特定的端口)。

如果很重要我正在使用ASP.NET MVC 3应用程序。

回答

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:

+3

它可能不是** sub **域的通配符,而是'*:80:'就是我正在查找的+1。左边的星号和右边的空白......完全违反直觉,而经典的微软在工作。 – rymo 2012-07-31 17:09:43

+0

很酷的+1从来不知道这一点。但它也适用于本地测试。绝对是正确的答案。 – ppumkin 2013-05-01 09:32:13

0

我没那么熟悉IIS Express,但通常如果不设置主机名,字段,然后IIS将为默认网站上的所有域提供所有请求服务。所以你基本上会绑定到127.0.0.1:80,并且“抓住”所有的东西。

但就像我说的,我不知道IIS Express是否以这种方式工作。