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

时间:2019-07-17 15:53:00

标签: iis localhost hosts

我在IIS的DefaultWebSite下只有很少的应用程序指向相同的源代码,并用别名加以区分:

localhost/app1
localhost/app2
localhost/app3

是否可以通过Windows主机文件为每个应用配置不同的主机名?例如,让它们像这样:

app1.localhost
app2.localhost
app3.localhost

我需要它来测试单个登录功能,并确保未在同一域(本地主机)内共享身份验证cookie

1 个答案:

答案 0 :(得分:1)

我认为,您应该修改hosts文件和url重写规则以实现您的要求。

首先,您应该转到主机文件(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>