Насколько я знаю, ваша точка №2 не может быть реализована без RewriteMap , который требует некоторой надоедливой конфигурации или нескольких правил.
Эта реализация должна быть универсальной и работать для любого количества подчеркиваний, но это дорого, поскольку может вызвать много перенаправлений (на самом деле, этого достаточно, чтобы вызвать ошибки перенаправления в браузерах, если в путях есть тонны подчеркиваний):
RewriteBase /
RewriteRule ^(folder/[^_]*)_(.*\.html?)$ /$1-$2 [L,R=301]
RewriteRule ^folder/(*+)\.html?$ /$1.shtml [L,R=301]
В качестве альтернативы можно перечислить варианты использования по мере необходимости или (лучше, я подозреваю) переписать запрос в сценарий perl или php и выполнить оттуда regexp_replace + redirect 301.
RewriteBase /
RewriteRule ^folder/(*+)\.html?$ /folder/redirect.php [L,QSA]