дайте мне две строки которые было стало, поскольку вы сделали ошибку в самом начале
GET не является частью строки, че вы ее пытаетесь выделить?
# 301 --- http://www.test.com/product/333 => http://www.test.com/index.php?page=product&item=888
RewriteRule ^product/333$ /index.php\?page=product&item=888 [L,R=301]
А вот если у вас гет в изначальной строке то так
# 301 --- http://www.test.com/?page=333 => http://www.test.com/index.php?page=product&item=888
RewriteCond %{QUERY_STRING} (^|&)page\=333($|&)
RewriteRule ^$ /index.php?page=product&item=888 [L,R=301]
Все что остается это заменить 333 на регулярк и сгрупировать ее
# 301 --- http://www.test.com/?page=333 => http://www.test.com/index.php?page=product&item=888
RewriteCond %{QUERY_STRING} (^|&)page\=([0-9]{1,})($|&)
RewriteRule ^$ /index.php\?page=product&item=%2 [L,R=301]
где %2 аналог $2 но из RewriteCond
Но обычно этим занимается php