Bueno, os voy a esplicar por encima un poco del htaccess, que es y como se puede usar.
el archivo .htaccess (hypertext access) es el archivo por default, que digamos “configura el servidor” , y se pueden hacer muchas cosas con el, y una de ellas es poner las urls envez de index.php?op=ojo /op/ojo o como queramos.
para hacer este tipos de url se usa RewriteRule, que funciona tan simple como ponerlo con una url y con su replazo, pero antes de empezar a remplazar, debemos decir que vamos hacerlo, con la opcion RewriteEngine.
tenemos una web, y para acceder al login se hacede dede miweb.com/index.php?op=login, y queremos que sea miweb.com/login.
RewriteEngine on
RewriteRule ^login index.php?op=login
Bueno, estos son links estaticos, asi que no generan ningun problema, creo que su aprendizaje es simple, pero ahora imaginamos que tenemos una galeria de fotos y queremos sacar foros por el id miweb.com/index.php?op=galeria&id=1 y queremos que sea miweb.com/galeria/1
RewriteEngine on
RewriteRule ^login index.php?op=login
RewriteRule ^galeria/([0-9-]+)/ index.php?op=galeria&id=$1
Bueno si os fijais, ahora pone una condicion, que es que solo admita numeros, y asi ponemos algo de seguridad, si pusieramos (.*) aceptaria cualquier caracter y seria perjudicial, y los valores $_GET se numeran asi $1 el primero $2 el segundo etc… id=1 $1 seria el 1 o el numero que estuviese en id.
Pero ahora, queremos hacer, el perfil de los usuarios, entonces sacamos los datos asi actualmente miweb.com/index.php?op=usuario&id=4, entonces queremos que seamiweb.com/perfil/4/SainTRC, bueno entonces deberiamos añadir a la opcion miweb.com/index.php?op=usuario&id=4&usuario=SainTRC, por motivos de contenido duplicado, para comprobar luego los valores y que no nos fatidien con contenido duplicado.
RewriteEngine on
RewriteRule ^login index.php?op=login
RewriteRule ^galeria/([0-9-]+)/ index.php?op=galeria&id=$1
RewriteRule ^perfil/([0-9-]+)/(.*)/ index.php?op=usuario&id=$1&usuario=$2
Entonces, ahora deberiamos comprobar lo siguiente, sacamos la variable usuario, y de la db sacamos el username de la id, si son iguales seguimos si no que nos lleven a una pagina de error, porque si entramos con urls diferentes al mismo contenido nos detectan como contenido duplicado y malo. aparte deberiamos poner el texto, sin espacios y tildes en la url para evitarnos problemas.
si teneis alguna duda, podeis postearla por aqui. y si algun error en mi esplicación tambien, que no soy expero
RewriteEngine onRewriteRule ^login index.php?op=login

Muchas gracias, me fue muy útil!
Holaaa! Ya conocia un poco el .htaccess y eso, pero mi duda es que si todos los servidores soportan el .htaccess? Ya que hace algun tiempo probe en varios hostings y nose si sera fallo mio, o que el hosting no lo soportaba pero no me funcionaba.. bueno un saludo man!
no todos tienen por que soportarlo, pero los actualizados si (hoy en día, deberían ser todos)