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

如何在.htaccess中设置规则,将img_*_r.jpg批量重定向为img_*_s.jpg?

批量重定向img_xxxx_r.jpg到img_xxxx_s.jpg的.htaccess规则

Hey,这个需求用Apache的mod_rewrite就能轻松搞定,我帮你写好规则并拆解清楚每一部分,方便你理解和调整:

首先确保你的服务器已经启用了mod_rewrite(绝大多数商用主机默认都开启了),然后把下面的代码添加到网站根目录的.htaccess文件中:

RewriteEngine On

# 匹配img_xxxx_r.jpg格式的图片,永久重定向到对应img_xxxx_s.jpg
RewriteRule ^img_([0-9]+)_r\.jpg$ /img_$1_s.jpg [R=301,L]

规则细节解释:

  • RewriteEngine On:必须放在最前面,用来开启mod_rewrite的重写功能,没有这一行所有规则都不会生效
  • 匹配规则 ^img_([0-9]+)_r\.jpg$:
    • ^ 和 $:分别标记URL的开头和结尾,确保我们只匹配完整的文件名,不会误匹配类似img_123_r.jpg.png这类文件
    • img_:固定匹配文件名开头的字符串
    • ([0-9]+):用括号捕获文件名中的数字部分(比如img_4324_r.jpg里的4324),这部分内容会被存为$1,供后面的目标URL使用
    • _r\.jpg:匹配文件名结尾的_r.jpg,这里的.要加反斜杠转义,因为在正则表达式里.是匹配任意字符的通配符
  • 目标URL /img_$1_s.jpg:把捕获到的数字$1放回去,同时把_r替换成_s,生成对应的目标文件名
  • 标记参数 [R=301,L]:
    • R=301:表示这是永久重定向,对搜索引擎SEO友好,也会让浏览器缓存这个重定向规则
    • L:表示这是最后一条规则,一旦匹配成功就停止处理后续的重写规则,避免冲突

额外注意事项:

  • 如果你的图片存放在子目录(比如/assets/images/),只需要调整规则里的路径即可,示例:
    RewriteRule ^assets/images/img_([0-9]+)_r\.jpg$ /assets/images/img_$1_s.jpg [R=301,L]
    
  • 测试阶段建议先用R=302(临时重定向),确认规则生效且正确后再改成301,避免浏览器缓存错误的重定向规则导致测试麻烦
  • 确保你的.htaccess文件有足够的权限(通常是644),并且服务器允许使用重写规则(如果是虚拟主机,可能需要在控制面板开启相关权限)

内容的提问来源于stack exchange,提问作者Davide Infsercom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:31:34