I struggled with this for awhile because sometimes you have rewritten URLs that you want to pass a query string but most of the info and examples do not support this.
Take a typical example like this:
RewriteRule ^(.*)-(.*)-(.*) /?module=$3&id=$2
You need to add the QSA flag to make it work like below:
RewriteRule ^(.*)-(.*)-(.*) /?module=$3&id=$2 [QSA]
The QSA preserves the original query string but also appends it with whatever you add.
eg http://yourdomain.com/rewritten-url?yourstring=value
You can now access "yourstring" with GET whereas without the QSA in the rewrite you couldn't.
htaccess, mod_rewrite, preserve, custom, query, solutioni, struggled, rewritten, urls, info, examples, rewriterule, module, qsa, preserves, appends, eg, http, yourdomain, url, yourstring, quot, whereas, rewrite, couldn,