You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IIS重定向规则在特定文件夹下失效问题排查

解决IIS重写规则中REDIRECT_WEBP_PRODUCTS不生效的问题

看起来你的Products路径重定向正常,但webp文件夹对应的规则没触发,我帮你分析下可能的原因和解决办法:

核心问题排查:条件匹配的准确性

你当前的规则里用了{HTTP_HOST}{REQUEST_URI}作为匹配输入,这可能引入不必要的变量(比如端口号、域名差异),导致正则匹配失效。比如如果你的站点访问时带了端口(如localhost:8080),{HTTP_HOST}会包含端口号,虽然正则的(.*)理论上能匹配,但实际可能因为字符串组合的细节导致匹配异常。

修复方案

修改REDIRECT_WEBP_PRODUCTS规则的条件部分,改用{REQUEST_URI}作为输入(直接匹配请求路径,更可靠),同时简化正则表达式:

<rule name="REDIRECT_WEBP_PRODUCTS" stopProcessing="false">
 <match url=".*" />
 <conditions logicalGrouping="MatchAny">
 <add input="{REQUEST_URI}" pattern="/webp/" ignoreCase="true" />
 </conditions>
 <action type="Redirect" appendQueryString="false" url="/mysite/content/img/logo.svg" redirectType="Permanent" />
</rule>

额外优化建议

  • 使用相对路径重定向:把action里的绝对URLhttp://localhost/mysite/content/img/logo.svg改成相对路径/mysite/content/img/logo.svg,这样不管站点部署的域名或端口是什么,都能正常跳转。
  • 明确大小写忽略:添加ignoreCase="true"确保匹配不区分大小写,避免因为URL路径大小写不一致导致的匹配失败。
  • 规则顺序与stopProcessing:如果希望匹配到webp规则后不再处理后续规则,可以把stopProcessing="false"改成true,不过当前设置不影响规则生效,只是会继续执行后续规则(对你的场景来说没问题)。

验证方法

修改后重启IIS站点,访问/mysite/content/img/banner/webp/b.webp,应该会自动重定向到logo.svg。如果还是不行,可以启用IIS的失败请求跟踪功能,查看规则匹配的详细日志,定位具体哪一步没触发。

内容的提问来源于stack exchange,提问作者Federico Rota

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 17:22:39