あなたはこれを間違った方向から見ています。そのような自動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 |
+---------+----------+------+-----------+----------------+
これで、誰かがあなたのhttps://mysite.com/directory/liam-gallagherにアクセスしたとき 、最後のエントリを読んで、user_idを見つけることができます データベースで残りをスクリプトに実行させます。
もう1つの方法は、Pekka
です。 提案しました。 https://mysite.com/directory/23/liam-gallagherのようなURLを作成します リンクからIDを読み取ります。しかし、私は個人的にそのようなURLは好きではありません。私の意見では、これらはただの高速/遅延回避策です。