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

Asp.net URL重写实现图片扩展名跳转问题咨询

解决ASP.NET web.config重写JPEG到WebP的问题

排查并修复重写规则

你的现有规则存在正则匹配的潜在问题,以下是调整后的可行方案:

修改后的重写规则

<rule name="Old Images to WebP" stopProcessing="true">
  <match url="^SiteThumbs/(.+)\.jpeg$" ignoreCase="true" />
  <action type="Redirect" url="SiteThumbs/{R:1}.webp" appendQueryString="true" redirectType="Permanent" />
</rule>

关键调整说明

  • 替换(.*)为(.+):确保至少匹配一个有效字符,避免空匹配场景
  • 转义.jpeg中的.为\.:消除正则表达式中.匹配任意字符的歧义,确保仅匹配.jpeg扩展名
  • 切换action type为Redirect并设置redirectType="Permanent":不仅实现内部重写避免404,还会返回301永久重定向,告知搜索引擎更新索引链接,从根源减少旧链接的访问请求
  • 添加$锚定URL结尾:确保仅匹配以.jpeg结尾的完整链接,匹配更精准

验证基础环境

  • 确认服务器已安装IIS URL Rewrite Module,本地开发环境可在IIS管理器中检查是否有URL重写功能入口
  • 云服务部署场景(如Azure应用服务)需在应用配置中确认URL重写已启用

检查规则执行顺序

  • 将该规则放在所有重写规则的最前端,避免被其他规则提前拦截
  • 排查是否存在排除静态文件的规则,导致JPEG链接未进入该重写逻辑

测试验证

直接访问旧JPEG链接,查看返回状态码:

  • 若返回301并跳转至对应WebP链接,说明规则生效
  • 若仍返回404,检查对应路径下的WebP文件是否存在(如SiteThumbs/g/google.com.webp)

内容的提问来源于stack exchange,提问作者Sam Salim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:01:17