Сама концепция скрытия существующих файлов, но их доставки - это немного странно, но технически это будет работать следующим образом
RewriteEngine on
RewriteRule ^(.*)\.html$ $1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
При этом происходит переадресация с /example.html
на /example
и возвращается код состояния http 301 («Постоянно перемещен»). Это говорит, например, Google, что содержание этой страницы переместилось.