Попробуйте следующее.Я бы поместил его в качестве последнего правила в вашем наборе (то есть внизу), чтобы он не конфликтовал с какими-либо другими правилами.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\..+$
RewriteRule ^(.*)$ /$1.html [R=301,L]
Это должно гарантировать, что запрос не является каталогом, и это не заканчивается какое-то расширение .Если эти условия соблюдены, запрос будет добавлен с .html
.
. Это не проверено, поэтому прокомментируйте, если это работает.;)