Options -Indexes -MultiViews
ServerSignature Off
DirectoryIndex index.php
AddType application/manifest+json .webmanifest
# Plain error pages (no server banner / version).
ErrorDocument 400 "Bad request"
ErrorDocument 403 "Forbidden"
ErrorDocument 404 "Not found"
ErrorDocument 405 "Method not allowed"
ErrorDocument 500 "Server error"
# Only GET, HEAD and POST are used by this app.
Require all denied
RewriteEngine On
# TRACE/TRACK are answered by Apache core unless rejected here (also set "TraceEnable Off" in httpd.conf).
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS|PUT|DELETE|PATCH|CONNECT)$ [NC]
RewriteRule .* - [F,L]
# Internal files are never served over HTTP.
Require all denied
Require all denied
# Dot-files and dot-directories (.git, .env, .impeccable, ...), except .well-known.
RedirectMatch 404 /\.(?!well-known/)
RedirectMatch 404 /(includes|database|tests|docs|design-system|node_modules|vendor)(/|$)
RedirectMatch 404 /admin/views(/|$)
Header always unset X-Powered-By
Header unset X-Powered-By
# JS/CSS/fonts/images are always requested with ?v=-, so a new
# upload changes the URL and clients fetch it immediately; old URLs can be
# cached for a long time.
Header set Cache-Control "public, max-age=31536000, immutable"
Header set X-Content-Type-Options "nosniff"
Header set Cross-Origin-Resource-Policy "same-origin"
# The service worker must be revalidated on every visit so updates reach the field.
Header set Cache-Control "no-cache"
Header set Content-Security-Policy "default-src 'none'; style-src 'unsafe-inline'; sandbox"
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “alt-php82” package as the default “PHP” programming language.
AddHandler application/x-httpd-alt-php82___lsphp .php .php8 .phtml
# php -- END cPanel-generated handler, do not edit