为IIS子应用程序配置不同的主机名

为IIS子应用程序配置不同的主机名,iis,localhost,hosts,Iis,Localhost,Hosts,我在IIS上的DefaultWebSite下有几个应用程序指向相同的源代码,并以别名区分: localhost/app1 localhost/app2 localhost/app3 是否可以通过windows主机文件为每个应用程序配置不同的主机名?例如,要让他们像这样: app1.localhost app2.localhost app3.localhost 我需要它来测试单一登录功能,并确保身份验证cookie不在同一个域(localhost)内共享。我认为,您应该修改主机文件和url重写

我在IIS上的DefaultWebSite下有几个应用程序指向相同的源代码,并以别名区分:

localhost/app1
localhost/app2
localhost/app3
是否可以通过windows主机文件为每个应用程序配置不同的主机名?例如,要让他们像这样:

app1.localhost
app2.localhost
app3.localhost

我需要它来测试单一登录功能,并确保身份验证cookie不在同一个域(localhost)内共享。

我认为,您应该修改主机文件和url重写规则以满足您的要求

首先,您应该转到hosts文件(C:\Windows\System32\drivers\etc)并添加以下设置

127.0.0.1   app1.localhost
127.0.0.1   app2.localhost
127.0.0.1   app3.localhost
然后,您可以将下面的url重写规则添加到web.config中,以将appx.localhost重写为localhost/app1

            <rule name="cio">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^(.*).localhost" />
                </conditions>
                <action type="Rewrite" url="http://localhost/{C:1}/{R:0}" />
            </rule>

我想我必须在IIS上配置URL重写