Гледате на това от грешна посока. Не можете да направите този вид автоматично пренаписване на URL адрес. Най-добре е да създадете пренаписване на целия URL адрес:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
и създайте конкретно име за потребител в базата данни, което ще се използва като url.
+---------+----------+------+-----------+----------------+
| user_id | username | name | surname | url |
+---------+----------+------+-----------+----------------+
| 23 | liam | Liam | Gallagher | liam-gallagher |
+---------+----------+------+-----------+----------------+
Сега, когато някой има достъп до вашия http://mysite.com/directory/liam-gallagher
, можете да прочетете последния запис и да намерите user_id
във вашата база данни и накарайте вашия скрипт да свърши останалото.
Другият начин е като Pekka
предложи. Създайте URL като http://mysite.com/directory/23/liam-gallagher
и прочетете идентификатора от връзката. Но аз лично не харесвам този вид URL адреси. Според мен те са просто бързи/мързеливи решения.