IIS 之 IIS 7及以上多域名或端口绑定同一物理目录并设置不同默认文档

Posted Now,DayBreak

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS 之 IIS 7及以上多域名或端口绑定同一物理目录并设置不同默认文档相关的知识,希望对你有一定的参考价值。

  今天在 IIS 7 多端口或域名绑定同一物理目录,设置不同的默认文档遇到问题:同一物理目录的多个站点修改任意一个站点默认文档都会一起更改。

  原因:在同一个物理目录下只有一个 web.config,并且 IIS7 把默认文档设置写在这里,导致所有域名的默认文档设置共享。

  解决方案:

  比如我们把 www.ExampleA.com 和 www.ExampleB.com 两个域名都指向 E:\WebTest 文件目录,想把 www.ExampleA.com 的默认文档设为目录下的 indexA.html,www.ExampleB.com 的默认文档设为目录下的 indexB.html。

  1、新建两个站点,一个叫 WebA(站点名字自定义),指向 E:\WebTest 文件夹,绑定域名 www.ExampleA.com;另一个叫 WebB,指向 E:\WebTest 文件夹,绑定域名www.ExampleB.com。

  2、进入%windir%\system32\inetsrv\config目录(%windir%即windows的安装目录,比如c:\windows)。

  3、找到 applicationHost.config 文件,用文本编辑器打开。

  4、在最后 configuration 节中加入如下语句

  <location path="WebA">
         <system.webServer>
            <defaultDocument enabled="true">
               <files>     
                     <clear/>
                     <add value="indexA.html"/>
               </files>
            </defaultDocument>
        </system.webServer>
    </location>
    <location path="WebB">
         <system.webServer>
            <defaultDocument enabled="true">
               <files>     
                     <clear/>
                     <add value="indexB.html"/>
               </files>
            </defaultDocument>
        </system.webServer>
    </location>

  5、注意要删除物理目录下 web.config 文件中关于默认文档的设置。

以上是关于IIS 之 IIS 7及以上多域名或端口绑定同一物理目录并设置不同默认文档的主要内容,如果未能解决你的问题,请参考以下文章

IIS 7.0 多域站点绑定

如果在一个服务器上绑定多个域名?

IIS 7.5绑定中文域名转码启动站点报“值不在预期的范围内”

怎样用iis把网站发布到外网上 win7

.net core 启动域名及端口配置

IIS 绑定 HTTPS 域名