我在一台服务器上安装了IIS,并且需要很少的url 重写规则。所有规则都必须指向不同的服务器/urls。例如:
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)时,问题就开始了。
如果我有以下模式:Pattern: site1(.*) Rewrite URL: http://web-server-1/{R:1}并导航到:http://my-iis-server/site1,结果是404,而url被更改为:http://my-iis-server/category1,它不存在ofc。
知道如何将siteX保存在主url中吗?
一般来说,这种做法是否正确?对于虚拟目录,它会更干净/更容易吗?
发布于 2019-09-03 02:19:46
根据您的描述,我建议您尝试使用下面的url rewirte规则:
<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>https://stackoverflow.com/questions/57760038
复制相似问题