Você está olhando para isso da direção errada. Você não pode fazer esse tipo de reescrita automática de URL. O melhor é criar uma reescrita de URL completa:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
e crie um nome específico para um usuário no banco de dados que será usado como url.
+---------+----------+------+-----------+----------------+
| user_id | username | name | surname | url |
+---------+----------+------+-----------+----------------+
| 23 | liam | Liam | Gallagher | liam-gallagher |
+---------+----------+------+-----------+----------------+
Agora, quando alguém acessar seu
http://mysite.com/directory/liam-gallagher
, você pode ler a última entrada e encontrar o user_id
em seu banco de dados e faça seu script fazer o resto. A outra maneira é como Pekka sugerido. Crie um URL como
http://mysite.com/directory/23/liam-gallagher
e leia o id do link. Mas eu pessoalmente não gosto desse tipo de urls. Eles são apenas soluções rápidas / preguiçosas na minha opinião.