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.