使用mod_rewrite,但保持"?"

sai*_*otd 1 php regex apache .htaccess


我在这里浪费时间与.htaccess一起使这些漂亮的URL成为可能并达到了死胡同.这对我来说过去很有用:

RewriteRule ^(.*)\?*$ app.php?_target=$1 [L]
Run Code Online (Sandbox Code Playgroud)

现在我想扩展此规则以支持这样的URL:

http://mydomain.com/articles/regex-cheatsheet/?sortby=expression&order=asc&filter=numeric
Run Code Online (Sandbox Code Playgroud)

这是一个很好的解释为什么我想这样做.我的规则现在看起来像这样:

RewriteRule ^(.*)\?(.*)$ app.php?_target=$1&$2 [L]
Run Code Online (Sandbox Code Playgroud)

我已经验证了这个表达式,因为我不是regEx专家,似乎没问题.但是,当然,它不起作用:/

那么有谁知道我做错了什么?

Cap*_*ule 6

使用QSA(查询字符串追加)标志:

RewriteRule (.*) app.php?_target=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)