I've created a very basic php templating system that I'm using to display a page with this URL: /basedir/index.php?page=home The home content is served by the script home.php. With a rewrite rule in .htaccess, I want my url to look like this: /basedir/home. The problem that I'm having is that I've got stuck when it comes to rewrite one more GET variable that I'm using to display a user's profile. For now the profile page url looks like this: /basedir/profile?user=username. Now I want it to look like this: /basedir/profile/username. So far, my .htaccess looks like this: RewriteEngine On RewriteBase /basedir/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) RewriteRule ^([^?]*) ?page=$1 [L,QSA]  I have no idea if this is good or if i have to write a completely new .htaccess file. LGT 2# LGT Reply to 2017-12-05 12:06:53Z  Based on your code, and my limited understanding, I would guess something like this: RewriteRule ^profile/([^?]*) ?page=profile&user=$1 [L,QSA]  .. insert it above your RewriteRule ^([^?]*) ?page=$1 [L,QSA]. anwerj 3# anwerj Reply to 2017-12-05 12:14:53Z  As you can see at http://htaccess.mwl.be/ your url http://www.example.com/profile/username is converted into http://www.example.com/basedir/?page=profile/username  Now what you need to do is put index.php in basedir where explode the page and retrieve username. $page = $_GET['page'];$parts = explode('/', $page); switch($parts[0]){ case 'profile': if(isset($parts[1])){$username = $parts[1]; return doWhatEverYouWantToDoWithUsername($username); } return handleJustProfilePage(); default: return yourDefaultHandler(); }  This approach is called routing you can make way better with some external routing libraries.