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

如何通过.htaccess重定向含部分查询字符串的URL?

Apache 重定向规则修复:将缩略图请求跳转至原始图片

你的规则失效核心原因是RewriteRule仅匹配URL的路径部分(问号前的内容),不能直接处理查询字符串,之前的写法都没正确处理这一点,下面是可行的解决方案:

正确的重写规则

RewriteEngine On
# 匹配带img参数的product_thumb.php请求,提取图片路径
RewriteCond %{QUERY_STRING} ^img=images/(.+)(&.*)?$ [NC]
RewriteRule ^product_thumb\.php$ /images/%1 [NC,R=301,L]

规则说明

  • RewriteEngine On:确保重写引擎处于启用状态(如果配置文件里没开的话必须加上)
  • RewriteCond 行:匹配查询字符串,捕获images/之后的完整图片文件名(比如my_image_example.jpg),同时忽略w=120&h=120这类额外参数
  • RewriteRule 行:匹配路径为product_thumb.php的请求,将其永久重定向到/images/加上捕获到的文件名,%1对应上面RewriteCond里第一个括号的内容,R=301表示永久重定向,L表示执行完这条规则就停止后续匹配

你之前规则的问题

  • 前两条规则:错误地把查询字符串写进了RewriteRule的匹配模式里,RewriteRule只处理product_thumb.php这个路径,不会识别问号后的参数
  • 第三条规则:RewriteCond语法错误($符号位置错了),而且没有捕获具体的图片文件名,重定向目标也只是固定的/images,无法指向具体图片

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:51:02