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

使用RewriteRule时PHP无法读取额外GET参数的解决方案咨询

解决RewriteRule丢失追加查询参数的问题

你的问题出在RewriteRule默认会用目标URL的查询串替换原URL的查询参数,所以当你追加?extra=1时,会被?name=$1&page=$2覆盖,导致$_GET['extra']无法读取。

解决这个问题只需要添加**QSA(Query String Append)**标志,它的作用是把原URL中的查询参数追加到重写后的查询串末尾,而不是替换。

修改后的规则如下:

RewriteRule ^cards/([^/]*)/([^/]*)$ /cards/?name=$1&page=$2 [L,QSA]

这样,当你访问类似example.com/cards/foo/bar?extra=1的URL时,重写后的实际请求会是/cards/?name=foo&page=bar&extra=1,此时$_GET['extra']就能正常读取到值1了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 17:20:58