Вы не можете использовать .htaccess RewriteRule только для этого. Если форум предоставляет внутренние идентификаторы базы данных, вам нужно переписать части SQL-запроса. В основном вам нужно сначала принять $_GET["username"]
вместо "userid"
, а затем переписать поиск. Как пример:
db_query("SELECT * FROM users WHERE id=?", (int)$_GET["userid"]);
до
db_query("SELECT * FROM users WHERE username=?", encode($_GET["username"]));
Зависит от приложения, фактической структуры таблицы SQL и интерфейса БД (ваш форум, вероятно, использует mysql_query
и mysql_real_escape_string
вместо encode
).
После этого вы можете развернуть простые RewriteCond !-f {%..}
и RewriteRule (.+) /viewprofile?username=$1
для получения коротких URL.