$
n
относятся только к совпадениям директивы RewriteRule
. Используйте %
n
для ссылки на совпадения соответствующей директивы RewriteCond
.
Дополнительно необходимо указать пустой запрос для замены. В противном случае будет использован исходный запрос.
И если вы хотите, чтобы остальная часть запроса оставалась неизменной, используйте это правило:
RewriteCond %{QUERY_STRING} ^(([^&]*&)*)uid=([0-9]+)(.*)
RewriteRule ^profile\.php$ http://new.example.com/utenti/%3?%1%4 [R=301,L]