Переменная .htaccess Перезапись - PullRequest
0 голосов
/ 16 июня 2011

У меня небольшие проблемы с mod_rewrite. Спасибо за любую помощь.

Я пытаюсь изменить этот начальный URL:

http://www.example.com/profile.php?u=72

в этот URL, который я хочу отобразить:

http://www.example.com/username

, где username - это имя пользователя №72, хранящееся в базе данных MySQL. Какие шаги я должен предпринять, чтобы это произошло для всех пользователей?

Ответы [ 3 ]

2 голосов
/ 16 июня 2011

Похоже, вы думаете об этом задом наперед - вместо этого подумайте, как бы вы перевели example.com/username в URL-адрес, такой как example.com/profile.php?name=username, с которым ваш PHP может работать.Обычно, когда вы используете mod_rewrite, вы изменяете ссылки на своем сайте для ссылки на чистые URL-адреса и используете mod_rewrite, чтобы он их понимал.

2 голосов
/ 16 июня 2011

Ваш mod_rewrite не использует информацию из базы данных, вы используете ее для загрузки другой страницы, показывая нужный URL-адрес.

Вы не можете использовать его так, как хотите, если URL-адрес не содержит пользователяID, вы не можете перенаправить на http://www.example.com/profile.php?u=72.Однако вы можете перенаправить на http://www.example.com/profile.php?username=username и в profile.php найти правильного пользователя на основе имени пользователя вместо идентификатора.

2 голосов
/ 16 июня 2011
  1. Убедитесь, что имя пользователя уникально в вашей базе данных - также проверьте чувствительность к регистру.
  2. Замените все старые URL-адреса в вашем приложении, указывая на прежний URL-адрес с именем пользователя.
  3. На странице сведений о пользователе выберите по имени пользователя вместо идентификатора.

Если у вас возникнут проблемы, я с радостью помогу с конкретными вопросами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...