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

如何通过htaccess配置301重定向移除URL末尾所有查询参数

Apache .htaccess删除所有查询参数的301重定向方案

以下是直接可用的完整配置:

RewriteEngine On

# 匹配所有存在查询参数的请求
RewriteCond %{QUERY_STRING} .+
# 重定向到同路径,末尾的?作用是丢弃原有查询参数
RewriteRule ^(.*)$ /$1? [R=301,L]

规则逻辑说明

  • RewriteCond %{QUERY_STRING} .+:判断当前请求的查询字符串(即?之后的内容)长度大于0,只要带有查询参数就触发规则,不限制参数名和内容,适配所有任意参数场景
  • RewriteRule ^(.*)$ /$1?:匹配站点下所有路径的请求,重定向到同路径下,末尾的?是核心配置,作用是告诉Apache丢弃原有请求的查询参数,最终不会在重定向后的地址里保留?及之后的内容
  • 标志位R=301表示使用301永久重定向,L表示匹配到该规则后不再执行后续重写规则

注意事项

  • 首次测试建议先把R=301改成R=302,确认重定向逻辑符合预期后再换回301,避免浏览器缓存错误的重定向规则影响测试
  • 如果有部分路径(比如API接口、动态页面)需要保留查询参数,可以在规则前加排除规则,例如要排除/api/开头的路径,可以加一行RewriteCond %{REQUEST_URI} !^/api/
  • 确保站点已经开启了mod_rewrite模块,否则重写规则不会生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:15:03