I'm having a bit of trouble with mod_rewrite. Thanks for any help.
I'm trying to change this starting URL:
http://www.example.com/profile.php?u=72
into this URL I want to display:
http://www.example.com/username
where username
is the username of user #72, as stored in a MySQL database. What steps should I take to make this happen for all users?
If you have any problems, I'm happy to help with specific questions.
Sounds like you're thinking about it backwards - instead think about how you would translate example.com/username
into a URL like example.com/profile.php?name=username
, which your PHP can then work with. Usually when you use mod_rewrite, you change the links in your site to link to clean URLs, and use mod_rewrite to make it understand them.
Your mod_rewrite does not use information from a database, you use it to load another page while showing the url you want.
You cannot use it exactly like you want, if the url does not contain the user ID, you cannot redirect to http://www.example.com/profile.php?u=72
. However you can redirect to http://www.example.com/profile.php?username=username
and in profile.php
lookup the correct user based on the username instead of the id.