Vale ya te entiendo.... déjame ponerte como lo hago yo, a ver si así te funciona, a mi me da muy buenos resultados.
Código:
ErrorDocument 404 /index.php
ErrorDocument 403 /index.php
ErrorDocument 401 /index.php
RewriteEngine On
RewriteBase /
RewriteRule ^validar-usuario/codigo/(.*)-(.*) login/validacion.php?cod=$1&valor=$2 [L]
Si te fija, cada RewriteRule tiene dos partes, primera es la dirección corta y la segunda parte es la equivalencia.
En el ejemplo que te he puesto al poner la dirección
http://www.dominio.com/validad-usuar...o/1234567-abcd
Tiene que recoger el valor de la variable con $_GET[cod] y $_GET[valor], ya luego hace lo que veas conveniente con la recogida de los get, en tu caso, buscar en tu BD.
Si tienes dudas, preguntas.
Saludos.