Я бы сказал, что это зависит от того, насколько ориентирован пользователь на ваш сайт.
Сайты, подобные myspace, http://www.myspace.com/jim/, потому что сайт полностью вращается вокруг пользователя.
Тем не менее, блог или новостной сайт, где вы можете зарегистрироваться, но это не важно или не обязательно, может принести пользу
http://www.news.com.au/users/jim/
Как вы думаете, если вы создаете веб-сайт с пользователями, вы могли бы извлечь выгоду из шаблона проектирования MVC или, по крайней мере, из популярной инфраструктуры MVC, которая использует маршрутизатор для направления URI?
Если этот URI поступил через маршрутизатор, а затем был отправлен в UsersController, вы можете либо показать профиль пользователя, либо направить его на создание этого пользователя. Вам не нужно будет возиться с mod_rewrite, кроме как для создания одного правила, которое направляет все запросы к несуществующим файлам в index.php (или любой другой язык по умолчанию на стороне сервера)
Если вы хотите использовать mod_rewrite, попробуйте эти правила
RewriteEngine On
RewriteCond %{REQUEST_URI} !(home|contact|about) [NC] // this line may be incorrect
RewriteRule ^/users/([^/]+)/?$ userpage?user=$1 [NC,L]
Обратите внимание на начальный карат, предложенный Gumbo, поэтому он соответствует только / users / только TLD.
Это будет соответствовать чему-либо как foo.com/users/bob с дополнительной косой чертой. Он не учитывает регистр и будет последним применяемым правилом.
Если запрос приходит и $ _GET ['user'] не существует в вашей БД, вы можете попробовать что-то вроде этого
$user = $_GET['user'];
if (!user_exists($user)) {
header('Location: createnew?user=' . urlencode($user));
exit();
}
Затем на странице создания новой, просто сделайте что-то вроде этого
<input type="text" name="username" value="<?php echo htmlspecialchars(urldecode($_GET['user'])); ?>" />
Это автоматически заполнит имя пользователя тем именем, с которым они пытались получить доступ к профилю.
Если вы хотите узнать больше о PHP и MVC, попробуйте поиск в Google или задайте вопрос здесь о переполнении стека.