Я сделал это без использования .htaccess, но он запрашивает базу данных.Я написал это некоторое время назад, так что он использует PEAR DB, приспособиться к вашей базе данных / метод подключения.Я просто скопирую свой код и позволю вам выяснить, какие изменения вам нужны.
$db=connect_db();
$name=substr($_SERVER['PHP_SELF'], 20);
$name=strtolower($name);
$id=$db->getone("select id from user where login='{$name}'");
header("Location: /dragonart/profile?user=" . $id);
Если вы храните вашу информацию в базе данных, это может быть хорошей альтернативой.Недостатком является то, что URL не переписывается, и пользователь в конечном итоге отправляется на страницу, заканчивающуюся переменной $ _GET.
edit:
Только что понял, что при использовании моего метода можно использовать более простой методза ответ.Поскольку мое решение использовалось для нахождения идентификатора пользователя с использованием его имени пользователя и последующей отправки кого-либо в его профиль (для которого требуется идентификатор), лучшим решением будет что-то вроде:
$var=substr($_SERVER['PHP_SELF'], $length);
header("Location: /path/to/page?p=".$var);
, где $ length - этообычная длина URL без переменной в конце.