需配置带条件的IIS URL Rewrite规则:指定路径请求重定向
IIS带条件的请求重定向规则配置方案
需求说明
- 入站请求示例:
https://myurl.com/sites/testSite/library/XXXX.pdf - 重定向目标地址:
https://myNewUrl.com/redirect/xxx.pdf - 匹配条件:入站请求路径必须包含
sites/testSite/library
配置方法
方法1:通过IIS管理器可视化配置
- 打开IIS管理器,定位到目标站点,双击URL重写模块
- 在右侧操作面板点击添加规则,选择空白规则
- 规则详细配置:
- 规则名称:自定义命名(例如
站点库PDF重定向) - 匹配URL:
- 请求路径:选择
与模式匹配 - 使用:
正则表达式 - 模式:
^sites/testSite/library/(.*\.pdf)$(用于捕获library路径后的PDF文件名) - 按需勾选
忽略大小写
- 请求路径:选择
- 条件:点击添加按钮,设置:
- 条件输入:
{URL} - 检查输入字符串:
匹配模式 - 模式:
sites/testSite/library - 按需勾选
忽略大小写
- 条件输入:
- 操作:
- 操作类型:
重定向 - 重定向URL:
https://myNewUrl.com/redirect/{R:1}({R:1}对应正则捕获的PDF文件名) - 重定向类型:选择
永久(301)(适合永久迁移)或临时(302)(适合临时跳转) - 按需勾选
追加查询字符串和停止处理后续规则
- 操作类型:
- 规则名称:自定义命名(例如
方法2:直接修改web.config文件
将以下代码添加到站点根目录web.config的<system.webServer>节点下:
<rewrite> <rules> <rule name="站点库PDF重定向" stopProcessing="true"> <match url="^sites/testSite/library/(.*\.pdf)$" ignoreCase="true" /> <conditions> <add input="{URL}" pattern="sites/testSite/library" ignoreCase="true" /> </conditions> <action type="Redirect" url="https://myNewUrl.com/redirect/{R:1}" redirectType="Permanent" /> </rule> </rules> </rewrite>
补充说明
{R:1}会自动替换为匹配到的PDF文件名(例如原请求的XXXX.pdf会被代入目标URL)ignoreCase="true"用于忽略路径大小写,适配不同大小写的请求路径- 重定向类型可根据业务需求选择301(永久)或302(临时)
内容的提问来源于stack exchange,提问作者Som
相关产品推荐
相关产品推荐

