happyxp 发表于 2019-8-9 16:07:33

IIS下web.config伪静态实现多域名绑定多目录

IIS 7.0以上的可以通过配置根目录下的web.config实现一个网站空间下绑定多个域名,适合虚拟空间很大,但是又只能绑定一个域名不能子目录绑定域名的情况。
比如建了一个页面,里面只有两三个html文件,属于纯展示的,但是有需要绑定一级域名,可以用此种方法。
首先,要开启IIS rewrite伪静态功能,传送门:
windows2012中IIS8如何安装和使用URL重写工具-URL Rewrite
或者直接下载管理工具,类似BT的,安装完之后会自动帮你安装好。

修改根目录下的web.config文件,如果没有的话创建一个。

<configuration>
    <system.webServer>
      <rewrite>
            <rules>
               
      <rule name="Imported Rule xp6/531">
            <match url="^.*$" ignoreCase="false" />
            <conditions><add input="{HTTP_HOST}" pattern="^www.xp6.org$|^xp6.org$" /></conditions>
            <action type="Rewrite" url="xp6/{R:0}" appendQueryString="true" />
      </rule>

      <rule name="Imported Rule bbs/978">
            <match url="^.*$" ignoreCase="false" />
            <conditions><add input="{HTTP_HOST}" pattern="^bbs.xp6.org$" /></conditions>
            <action type="Rewrite" url="bbs/{R:0}" appendQueryString="true" />
      </rule>

            </rules>
      </rewrite>
      <httpErrors errorMode="Detailed" />
      <asp scriptErrorSentToBrowser="true"/>
    </system.webServer>
    <system.web>
      <customErrors mode="Off"/>
      <compilation debug="true"/>
      <identity impersonate="false" />
    </system.web>
</configuration>

说明:规则<rule></rule>标签内为一个
1.www.xp6.org与xp6.org绑定到子目录文件夹xp6
2.bbs.xp6.org绑定到子目录文件夹bbs
通过多个rule规则可以对应的多个域名绑定多个子目录。
注意:
1、此规则仅适用于IIS7.0以上的主机,简单的查看方法就是空间开通后看根目录有没有web.config文件。
2、使用此种方法,子目录内的网站调用css、图片以及其他页面文件须使用相对目录,或者完整的目录: /子目录/网页文件这种方式。



页: [1]
查看完整版本: IIS下web.config伪静态实现多域名绑定多目录