今天遇到了IIS7多域名绑定同一物理目录,设置不同的默认文档的问题,因为在一个物理目录下只有一个web.config,并且IIS7把默认文档设置写在这里,导致所有域名的默认文档设置共享,很多人对此束手无策,甚至有人说这是IIS7的bug。
其实IIS7不会比IIS6落后的,这个问题也很好解决,下面是解决方案:
比如我们把www.tuku168.com和bbs.tuku168.com两个域名都指向D: uku168文件夹 想把www.tuku168.com的默认文档设为目录web下的index.html,bbs.tuku168.com的默认文档设为目录bbb下的index.html
1、新建两个站点,一个www.tuku168.com,指向D: uku168文件夹,绑定域名www.tuku168.com;另一个叫bbs.tuku168.cm,指向D: uku168bs文件夹,绑定域名:bbs.tuku168.com
2、进入%windir%system32inetsrvconfig目录(%windir%即windows的安装目录,比如c:windows)
3、找到applicationHost.config文件,用文本编辑器打开
4、在最后configuration节中加入如下语句
1 <location path=www.tuku168.com> 2 <system.webServer> 3 <defaultDocument enabled="true"> 4 <files> 5 <clear/> 6 <add value="tuku168/index.htmk"/> 7 </files> 8 </defaultDocument> 9 </system.webServer> 10 </location> 11 <location path="bbs.tuku168.com"> 12 <system.webServer> 13 <defaultDocument enabled="true"> 14 <files> 15 <clear/> 16 <add value="bbs/index.html"/> 17 </files> 18 </defaultDocument> 19 </system.webServer> 20 </location>
备注:location节点path是域名名称,add节点value是文件路径