lucy24 - 9:21 pm on Sep 4, 2013 (gmt 0)
1. Question marks cannot occur in the path of the URL. Anything after the question mark is, by definition, a query.
2. mod_alias (Redirect by that name) doesn't do query strings. For that you need mod_rewrite (RewriteRule with [R] flag)
Earlier posts suggest you don't like this answer. But where Apache is concerned, you can dislike things until the cows come home. The facts won't change :(
A redirect of any kind-- mod_alias, mod_rewrite, php script-- isn't about "old" files and "new" files. It's about "pattern" and "target". A request is compared against the pattern; if it matches, the rule points to the target. Ordinarily the rule doesn't know and doesn't care whether either of the two physically exists.