CondPattern is usually a perl compatible regular expression, but there is additional syntax available to perform other useful tests against the Teststring:
You can prefix the pattern string with a '!' character (exclamation mark) to negate the result of the condition, no matter what kind of CondPattern is used.
Префикс ! нужно добавлять к шаблону без лишних пробелов.
Если написать так: RewriteCond %{REQUEST_URI} ! \.html$
То выйдет что \.html$ будет передан в качестве флагов, а не шаблона регулярного выражения. %{REQUEST_URI} - TestString ! - CondPattern \.html$ - [flags]
Это приводит к ошибке 500.
Еще следует учитывать что под это правило попадут и все js, css, jpeg файлы.
Т.е. file.css перенаправит на file.css.html и файл не будет найден.