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

RewriteRule重写规则配置问题:invalid参数缺失未传入$_GET如何解决

问题根因

你当前的RewriteRule配置存在两个常见错误导致追加的invalid参数无法被正常解析:

  1. 配置中错误使用了HTML转义符&作为参数分隔符:Apache的重写规则目标地址的参数直接使用&做分隔即可,转义后的&会被识别为参数内容的一部分,导致invalid参数无法被PHP正常解析为独立的查询参数。
  2. 缺少必要的规则标志位:未加L标志的情况下,如果后续还有其他重写规则,当前规则拼接的参数会被后续规则覆盖,导致自定义参数丢失。

修正后的配置

将规则调整为如下写法即可:

RewriteRule ^reset-password/token/([0-9a-zA-Z]+)/invalid reset-password.php?token=$1&invalid [L]

如果你需要保留原请求中携带的其他查询参数,可以在标志位中追加QSA,配置如下:

RewriteRule ^reset-password/token/([0-9a-zA-Z]+)/invalid reset-password.php?token=$1&invalid [L,QSA]

验证方法

配置更新后,你可以在reset-password.php顶部加入如下代码打印完整的查询字符串,确认参数是否正常传入:

var_dump($_SERVER['QUERY_STRING']);

如果输出内容包含invalid,说明配置已经生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:54:02