Гет не является частью урла и по этому он и не выделяется
RewriteCond %{QUERY_STRING} (^|&)id\=1($|&)
RewriteRule ^search$ /search/1? [L,R=301]
RewriteCond %{QUERY_STRING} - ловим сам гет по краям группы это знак & поскольку гет может быть в любом месте ( в вашем случае вообще можно убрать)
В конце реврайт рула стоит знак
?
он удалит гет парметры.
Теперь отсалось приветси это в жизнеспособный вид
мы заменяем цифру 1 на регулярку и вставляем е ев реврайт рул, а поскольку рул сам может групировать то вместо $ используются %
RewriteCond %{QUERY_STRING} (^|&)id\=(.+)($|&)
RewriteRule ^search$ /search/%2? [L,R=301]