GET - не является частью урла и по этому RewriteRule он не попадает вообще , от слова совсем
По этому его выделяют через RewriteCond
# 301 --- http://www.test.com/faq.html?faq=13&layout=bob => http://www.test2.com/faqs.html
RewriteCond %{HTTP_HOST} ^www\.test\.com$
RewriteCond %{QUERY_STRING} (^|&)faq\=13($|&)
RewriteCond %{QUERY_STRING} (^|&)layout\=bob($|&)
RewriteRule ^faq\.html$ http://www.test2.com/faqs.html? [L,R=301]
И даже можно менять часть параметров
группировав их (...) в конд и вставляя их в рул но уже не с $1 а %1
НО изменить гет парметр рул не может, ибо он его не видит.
что он может
Он может удалить все гет параметры
...faqs.html?
- Это не опечатка в конце, знак вопроса удаляет параметры совсем.
И по идее теперь можно подставить, но не один а все сразу.
Можно так же указать явный гет параметр в конечном урле, НО если у вас все входящие гет параметры уже указаны, в противном случае вы потеряете их.
И того
Можно сделать редирект с гет параметром на без гет
Можно сделать с без гет на гет
Можно заменить часть гет параметра
НО конечный выхлоп будет сумма всех гет параметров плюс измененный ваш, но это статическая конструкция кроме вашего изменения, если появится еще 1 гет параметр в урле кроме как задуманный вами, он обрежется при редиректе.
Надеюсь понятно ?