RewriteEngine On

# Redirect direct .html requests to extensionless URLs.
RewriteCond %{THE_REQUEST} \s/+(.+?)\.html(?:[\s?]|$) [NC]
RewriteRule ^(.+)\.html$ $1 [R=301,L,NE]

# Internally serve the matching HTML file for extensionless requests.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+?)/?$ $1.html [L]
