# Block Googlebot and archive crawlers
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (googlebot|Googlebot|archive|Archive) [NC]
RewriteRule .* - [R=403,L]
</IfModule>

# Additional robots.txt enforcement
<Files "robots.txt">
Order allow,deny
Deny from all
</Files>

# Optional: Custom 503 for maintenance (requires ErrorDocument setup)
ErrorDocument 503 /index.html
Header always set Retry-After "3600"
# -----------------------------------------------
# Block Googlebot & Archive Bots (User-Agent)
# -----------------------------------------------
SetEnvIfNoCase User-Agent "Googlebot" BlockUA
SetEnvIfNoCase User-Agent "Googlebot-Image" BlockUA
SetEnvIfNoCase User-Agent "Googlebot-Mobile" BlockUA
SetEnvIfNoCase User-Agent "Googlebot-News" BlockUA
SetEnvIfNoCase User-Agent "Googlebot-Video" BlockUA
SetEnvIfNoCase User-Agent "AdsBot-Google" BlockUA
SetEnvIfNoCase User-Agent "AdsBot-Google-Mobile" BlockUA
SetEnvIfNoCase User-Agent "Google-InspectionTool" BlockUA
SetEnvIfNoCase User-Agent "ia_archiver" BlockUA
SetEnvIfNoCase User-Agent "Wayback" BlockUA
SetEnvIfNoCase User-Agent "archive.org_bot" BlockUA
SetEnvIfNoCase User-Agent "HTTrack" BlockUA
SetEnvIfNoCase User-Agent "WebCopier" BlockUA
SetEnvIfNoCase User-Agent "SiteSnagger" BlockUA

<Limit GET POST HEAD>
    Order Allow,Deny
    Allow from all
    Deny from env=BlockUA
</Limit>

# -----------------------------------------------
# Block Archive File Downloads
# -----------------------------------------------
<FilesMatch "\.(zip|tar|tar\.gz|tgz|gz|rar|7z|bz2|xz|iso|cab)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

# -----------------------------------------------
# Error Documents
# -----------------------------------------------
ErrorDocument 403 /index.html
ErrorDocument 503 /index.html

# Enable URL Rewriting
RewriteEngine On

# Redirect .html URLs to non-.html (SEO friendly)
RewriteCond %{REQUEST_URI} !\.[a-zA-Z0-9]+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1.html [L]

# Alternative: If you want both to work separately (no redirect, just serve content)
# This makes /furnace-repair-alpine-ca serve the content of /furnace-repair-alpine-ca.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html [NC,L]

# Force HTTPS (optional but recommended)
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# Remove trailing slashes (optional)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]

# Custom 404 Error Page (optional)
ErrorDocument 404 /404.html