在.htaccess url重写中转发查询\u字符串

在.htaccess url重写中转发查询\u字符串,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,假设我想重写 http://example.com/test?data=abcxyz 到 我试过了 RewriteRule ^test?(.*)$ index.php?module=test&$1 [L] 但是它不起作用,查询字符串变成module=test&s。(整个字符串数据=abcxyz变为s)。 我怎样才能完成这项任务? 非常感谢 这有一个标志,QSA标志:) 解释如下: 当替换URI包含查询字符串时,默认行为 重写规则的作用是丢弃现有的查询字符串,并替换它 使用新生成的一个

假设我想重写

http://example.com/test?data=abcxyz

我试过了

RewriteRule ^test?(.*)$ index.php?module=test&$1 [L]
但是它不起作用,查询字符串变成
module=test&s
。(整个字符串数据=abcxyz变为s)。 我怎样才能完成这项任务?
非常感谢

这有一个标志,QSA标志:)

解释如下:

当替换URI包含查询字符串时,默认行为 重写规则的作用是丢弃现有的查询字符串,并替换它 使用新生成的一个。使用[QSA]标志会导致查询 要组合的字符串


非常感谢你!Stackoverflow是个很棒的地方!“QSA”是关键
RewriteRule ^test?(.*)$ index.php?module=test&$1 [L]
RewriteRule ^test?(.*)$ index.php?module=test&$1 [L,QSA]