Конкретно по ТЗ
RewriteCond %{QUERY_STRING} (^|&)username\=georgii($|&)
RewriteRule ^profile$ /profile/georgii? [L,R=301]
А тут я вангую что вам нужно не только 1 гет параметр а любой из них
RewriteCond %{QUERY_STRING} (^|&)username\=(.+)($|&)
RewriteRule ^profile$ /profile/%2? [L,R=301]
И Да делается по нормальному это через ЧПУ
Примерно так
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
</IfModule>
А дальше уже обрабатывает php в 99% CMS это уже реализовано.