IIS 7.5:具有不同默认文档的虚拟目录

我们在IIS中为我们的webapp提供了一个典型的设置,为不同的项目提供虚拟目录:

  • www.webapp.com(网站)
    • project1(虚拟目录)
    • project2(虚拟目录)
    • project3(虚拟目录)

webapp将login.aspx作为默认文档,就像所有的虚拟目录一样。 现在,我只需要一个不同的默认文档(index.aspx) ,www.webapp.com网站 。 虚拟目录将继续使用login.aspx,只有这样。

编辑:所有虚拟目录指向相同的物理目录。 如果我更改www.webapp.com的默认文档,那么对于所有底层的虚拟目录也会更改。

这在IIS 6中很容易,但在IIS 7.5中,我没有成功实现这个function。

我想我需要通过添加位置标签来改变applicationhost.config ,但我不知道如何启动。 有人能指出我正确的方向吗?

谢谢! 斯泰恩

为此,您需要修改ApplicationHost.config文件。 该文件的位置目前位于%windir%\ system32 \ inetsrv \ config目录中。

文档末尾的“位置”部分需要根据您的应用默认文档进行相应的修改。 例如 –

<location path="Default Web Site/App"> <system.webServer> <defaultDocument enabled="true"> <files> <clear /> <add value="Login.aspx" /> </files> </defaultDocument> <security> <authentication> <anonymousAuthentication enabled="false" /> </authentication> </security> </system.webServer> </location> 

 <location path="Default Web Site/App/VApp2"> <system.webServer> <defaultDocument enabled="true"> <files> <clear /> <add value="LoginPage2.aspx" /> </files> </defaultDocument> <security> <authentication> <anonymousAuthentication enabled="false" /> </authentication> </security> </system.webServer> </location> 

是的,最简单的(阅读:作弊 – 我 – est)configuration方式是:

打开function委派,并禁用委派的默认文档模块(或使其只读)的网站。

完成之后,GUI将在比您刚刚configuration的授权设置更低的任何级别为您创build<location>标签。

也许我不明白你的问题,但对我来说似乎微不足道。

打开Internet信息服务pipe理器,select虚拟目录(双击)。 在IIS部分,打开“默认文档”并设置您的默认文档(或删除一些)。

重复所有的虚拟目录的过程。

更新:

问:你的(某些)虚拟目录是否指向同一个物理目录? IIS将信息保存在物理目录中的web.config文件中。 这可能是你的问题。

解决方法:创build一些redirect虚拟目录的请求的逻辑。 或者创build一个物理目录的副本,以便web.config文件可以单独设置。