あなたはこれを間違った方向から見ています。そのような自動 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
、残りをスクリプトに任せることができます。
他の方法は、ペッカが提案したとおりです。のような URL を作成http://mysite.com/directory/23/liam-gallagher
し、リンクから ID を読み取ります。しかし、私は個人的にそのような URL は好きではありません。私の意見では、それらは単に高速/怠惰な回避策です。