Una explicación detallada requeriria de conocimientos que por ahora no creo que poseas. En la web hay numerosos y muy buenos manuales y tutoriales sobre mod_rewrite y url amigables (lo mejores, en inglés) y expresiones regulares
Pero te hago una sintesis
Código Apache:
Ver originalOptions +FollowSymLinks
#### Opción requerida
RewriteEngine On
#### Activa el RewriteEngine
RewriteCond %{SCRIPT_FILENAME} !-d
#### condicion 1 = que no corresponda a un directorio existente
RewriteCond %{SCRIPT_FILENAME} !-f
#### condicion 1 = que no corresponda a un archivo existente
RewriteRule ^([^/]*)$ /pagina.php?id=$1 [L]
# LA regla a aplicar
# lo que está entre parentesis se convierte en la variable $1
# y es procesado por pagina.php?id=valor que recibe por $_GET
# el modificador L al final le dice a la regla que si se cumple
# no procese mas nada y la ejecute
Acá te dejo un ejemplo (cuidado es solo un ejemplo, no para que lo apliques si n estas seguro), vas a ver que "eduardo" se pasa como variable y tambien existe una carpeta de dicho nombre
http://modrewrite.emprear.com/
Saludos