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

如何修改htaccess的RewriteRule规则跳转时保留原有GET参数

修改后的重写规则

你只需要在原有规则末尾追加QSA(Query String Append,查询字符串追加)标志即可,修改后规则如下:

RewriteRule ^([\w-]+)/?$ ../new/index.php?product=$1 [QSA]

规则说明

  • QSA是Apache mod_rewrite模块的内置标志,作用是自动将原请求携带的查询参数,追加到目标地址的查询参数列表末尾,模块会自动处理参数拼接的&符号,不会出现格式冲突。
  • 如果你需要对外暴露跳转行为(比如让用户浏览器地址栏显示新URL),可以额外增加跳转标志,例如永久301跳转可以写成[QSA,R=301,L],其中L标志表示匹配到本条规则后不再执行后续重写规则,避免规则冲突。

效果验证

修改规则后:

  • 访问sample.com/old/123时,依然会正常重写为sample.com/new/index.php?product=123
  • 访问sample.com/old/123?type=1时,会自动重写为sample.com/new/index.php?product=123&type=1,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 19:15:03