IIS多URL重写规则

IIS多URL重写规则,iis,iis-8.5,Iis,Iis 8.5,我在一台服务器上安装了IIS,需要有一些url重写规则。所有规则都必须指向不同的服务器/URL。例如: http://my-iis-server --> http://web-server-0/category http://my-iis-server/site1 --> http://web-server-1/category1 http://my-iis-server/site2 --> http://web-server-2/category20 http:/

我在一台服务器上安装了IIS,需要有一些url重写规则。所有规则都必须指向不同的服务器/URL。例如:

http://my-iis-server       --> http://web-server-0/category
http://my-iis-server/site1 --> http://web-server-1/category1
http://my-iis-server/site2 --> http://web-server-2/category20
http://my-iis-server/site3 --> http://web-server-3/category33
第一条规则很简单。问题是在尝试实现其余规则/site1、/site2、/site3时出现的

如果我有以下模式:模式:site1.*重写URL:http://web-server-1/{R:1}并导航到:http://my-iis-server/site1 结果为404,url更改为:http://my-iis-server/category1 这是不存在的ofc

你知道如何将siteX保留在主url中吗


总的来说,这是正确的方法吗?虚拟目录会更干净/更容易吗?

根据您的描述,我建议您可以尝试使用以下url规则:

            <rule name="for site 1">
                <match url="site1(.*)" />
                <action type="Rewrite" url="http://web-server-1/category1{R:1}" />
            </rule>
            <rule name="for site 2">
              <match url="site2(.*)" />
              <action type="Rewrite" url="http://web-server-2/category20{R:1}" />
            </rule>
            <rule name="for site 3">
              <match url="site3(.*)" />
              <action type="Rewrite" url="http://web-server-3/category33{R:1}" />
            </rule>
            <rule name="for site 4">
              <match url="(.*)" />
              <action type="Rewrite" url="http://web-server-0/category" />
            </rule>