Как с помощью mod_rewrite обрабатывать полный URL с QUERY STRING?
mod_rewrite не обрабатывает QUERY STRING, если это указано непосредственно в RewriteRule.
Если нужно разбирать конструкции, например, вида /foo.html?param=bar, то нужно использовать RewriteCond. Например, если нужно запросы вида /foo.html?param=bar перенаправлять на http://www.host.ru/foo/bar.html, Вы можете создать (или отредактировать) в нужной директории файл .htaccess, содержащий такие строки:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^param=(.+)$
RewriteRule ^foo.html$ http://www.host.ru/foo/%1.html? [R=301]
Знак вопроса "?" в конце строки подстановки означает, что не нужно подставлять исходную строку запроса.