我在IIS的DefaultWebSite下只有很少的应用程序指向相同的源代码,并用别名加以区分:
localhost/app1
localhost/app2
localhost/app3
是否可以通过Windows主机文件为每个应用配置不同的主机名?例如,让它们像这样:
app1.localhost
app2.localhost
app3.localhost
我需要它来测试单个登录功能,并确保未在同一域(本地主机)内共享身份验证cookie
答案 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>