Fa tutto da se e senza richiedere alcuna modifica (ben testato in locale)
Codice PHP:
RewriteEngine On
RewriteBase /
# Username Redirect Start
# Se la query string è assente...
RewriteCond %{QUERY_STRING} ^$
# Effettuo il rewriting ed aggiungo una variabile "semaforo" (rew=1) alla query string!
RewriteRule ^u-(.*)$ profile.php?username=$1&rew=1 [L]
# Se la query string è presente e contiene già la variabile "semaforo"...
RewriteCond %{QUERY_STRING} ^username=(.*)$
RewriteCond %{QUERY_STRING} !^.*rew=1$
# Effettuo il redirect 301 dall'url dotato di query string a *tuosito/u-username
RewriteRule ^.*$ http://localhost/u-%1? [R=301,L]
# Username Redirect End
Ovviamente devi modificare "localhost" (ultima riga) in "tuosito" :P