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