Hola muchas gracias PHPeros, ahora tengo el siguiente error con otra url es esta exactamente.
Código Apache:
Ver originalRewriteRule ^((producto|caducidad)+(/codigo_[0-9]+)?)/(id_(.*))/$ index.php?codigo=$1&id=$2 [L]
dominio.com/producto/cod_1001/id_2323/
o
dominio.com/caducidad/id_2323/
es decir que la url tiene dos variables codigo y id, siendo codigo_1001(o lo que sea) opcional pero cuando imprimo las variables por ejemplo para esta url
dominio.com/producto/cod_1001/id_2323/
codigo -> producto/cod_1001
id -> producto
el id esta mal, que estoy fallando el la expresion regular, saludos.