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

无法获取全部GET参数求助:.htaccess规则仅使page参数生效

解决.htaccess重写后丢失GET参数的问题

这问题我之前调试重写规则时也踩过坑!你的规则里缺少了**QSA(Query String Append)**标志,这就是原URL里的dept和test参数没被传递过去的核心原因。

原因分析

默认情况下,Apache的mod_rewrite执行重写时,会用你指定的新查询字符串(也就是?page=$1)直接替换原URL里的所有查询参数,不会自动合并两者。所以原有的dept=ABS&test=23就被直接丢弃了。

修改后的规则

只需要在RewriteRule的标志部分加上QSA即可:

RewriteCond %{REQUEST_URI} ^/dashboard-detailed-view-(.*)$
RewriteRule ^dashboard-detailed-view-(.*)$ /rat/view/dashboard-detailed-view.php?page=$1 [L,QSA]

效果验证

修改后访问http://localhost/dashboard-detailed-view-absence?dept=ABS&test=23,执行print_r($_GET)就能得到完整的参数数组:

Array (
    [page] => absence
    [dept] => ABS
    [test] => 23
)

额外提醒

  • 确保你的Apache服务器已经启用了mod_rewrite模块
  • 确认网站根目录的.htaccess文件有足够权限,并且Apache配置里的AllowOverride设置为All(至少包含FileInfo),这样重写规则才能正常生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:10:11