I am using Apache .htaccess to do redirection:
RedirectMatch "^/mysubpage/?" http://domain.com/page [R=301,L]
Link: http://domain.com/mysubpage
But when the page loads, the link changes to: http://domain.com/page/?uri=/mysubpage/
Why does it append the “?uri” query string?
Most likely your http://domain.com/subpage is already a rewritten URL?!
Try this:
The Questionmark at the end of your redirect-destination is to prevent appending the old querystring to it (which is default behaviour).