Creo que tienes 2 errores:
El primero es que no has puesto la expresion regular donde recibes el nombre (no el ID) del servicio por tanto la url quedava así: ID/ID-SUBSERVICIO en lugar de así ID-SERVICIO/ID-SUBSERVICIO que es como quieres que sea.
El segundo error es que con el rewrite corregido, recoges 4 variables: 1 -> ID_SERVICIO, 2 -> NOMBRE_SERVICIO, 3 -> ID_SUBSERVICIO, 4 -> NOMBRE_SUBSERVICIO.
Por ello, debes pasarle la primera y la tercera variable y no la primera y la segunda.
Original:
Código:
RewriteRule ^([0-9]+)/([0-9]+)\-([a-zA-Z0-9-]*)$ index.php?p=servicios&id_servicio=$1&id_sub=$2 [L]
Corregido:
Código:
RewriteRule ^([0-9]+)\-([a-zA-Z0-9-]*)/([0-9]+)\-([a-zA-Z0-9-]*)$ index.php?p=servicios&id_servicio=$1&id_sub=$3 [L]
No lo he probado, espero que te funcione!
PD: Por favor, la proxima vez, dinos en que falla tu expresión, es decir, no recoge bien los parametros (como en esta ocasión, supongo), devuelve un error 500, un 404, etc...