iis - IIS 多个 URL 重写规则
问题描述
我在一台服务器上安装了 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
)
如果我有以下模式:Pattern: site1(.*) Rewrite URL: http://web-server-1/{R:1}
并导航到:http://my-iis-server/site1
结果为404,并且 url 更改为:http://my-iis-server/category1
which dont exists ofc。
知道如何保留siteX
主网址吗?
一般来说,这是正确的方法吗?虚拟目录会更干净/更容易吗?
解决方案
根据您的描述,我建议您可以尝试使用以下 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>
推荐阅读
- excel - 使用 rng.value=rng.value 方法在工作表之间复制大型数据集(500k 记录)时出错
- html - 如何在 html 和 css 的侧栏中垂直设置文本
- php - php 抛出一个关于我在我的 php 中使用的 sql 函数的致命错误
- c# - 修改打印作业的 Owner 属性(不删除打印作业)
- angular - TypeError:this.threadData.pipe 不是函数:Angular 6 JASMIN KARMA UNIT 测试用例
- ember.js - Ember 构建和源映射
- c# - TimeSpan 四舍五入到小数点后 3 位
- python - 子进程产生超过 16 个内核,但只有一个内核进行计算
- roblox - 为什么我看不到我发布的 Roblox 游戏?
- django - 如何将图像存储在 Django 的视图文件中