Htaccess 301 redirige htaccess o php

Tengo una regla de reescritura en Htaccess como se muestra a continuación para una URL dinámica

RewriteRule ^cartoon-([^-]*)-([^-]*)\.html$ /fm
/cart_new?r_id=$1&location=$2 [L]

Esta regla resulta en URL comohttp://localhost/fm/cartoon-34-singapore.html

Ahora mi cliente quiere cambiar esta URL ahttp://localhost/fm/singapore/34/goofie y escribí .htaccess como

RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/?$ /fm
/cart_new?location=$1&r_id=$2&cartooname=$3 [L]

La reescritura anterior funciona bien, pero el cliente quiere que todas las URL VIEJAS comohttp://localhost/fm/cartoon-34-singapore.html deberá 301 redirigir ahttp://localhost/fm/singapore/34/goofie.

Esto me está volviendo loco. He intentado varias cosas pero ninguna parece funcionar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta