转发.htaccess url中的QUERY_STRING重写

时间:2014-10-07 11:27:51

标签: .htaccess mod-rewrite

假设我想从

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

 http://example.com/index.php?module=test&data=abcxyz

我试过

RewriteRule ^test?(.*)$ index.php?module=test&$1 [L]

但它不起作用,QUERY_STRING变为module=test&s。 (整个字符串数据= abcxyz成为s)。 我怎样才能完成这项任务? 非常感谢提前!

1 个答案:

答案 0 :(得分:1)

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

RewriteRule ^test?(.*)$ index.php?module=test&$1 [L,QSA]

此处的解释:Apache doc

  

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