# ===================================================
# 🦁 TG-LION BOT & CODECONTROL HIGH-PERFORMANCE CONFIG
# Server: Apache + cPanel (ea-php82 / PHP 8.2 FPM-FastCGI)
# Version: 12.1.0-STABLE (PHP 8.2 Fixed)
# NOTE: PHP handler controlled by cPanel block below.
#       Do NOT add a second AddHandler here — it causes
#       a handler conflict that crashes PHP-FPM on cPanel.
# ===================================================

# ---------------------------------------------------
# 🔒 BASIC SECURITY & PERFORMANCE
# ---------------------------------------------------
Options -Indexes -MultiViews
<IfModule mod_headers.c>
    Header set X-Content-Type-Options "nosniff"
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-XSS-Protection "1; mode=block"
    Header set Referrer-Policy "no-referrer-when-downgrade"
</IfModule>

<IfModule mod_php.c>
    php_flag display_errors off
    php_flag log_errors on
    php_flag expose_php off
    php_value error_log /dev/null
</IfModule>

# ---------------------------------------------------
# 🌀 MOD_REWRITE ENGINE RULES (CodeControl First)
# ---------------------------------------------------
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # [১] ARCHITECTURAL BYPASS FOR CODECONTROL
    RewriteCond %{REQUEST_URI} ^/codecontrol [NC]
    RewriteRule ^ - [L]

    # [২] LOCK DATA DIRECTORY
    RewriteCond %{REQUEST_URI} ^/data [NC]
    RewriteRule ^ - [F,L]

    # [৩] CONDITIONAL SECURITY FOR SENSITIVE FILES
    RewriteCond %{REQUEST_FILENAME} \.(json|log|env|sql|bak|htaccess|htpasswd|phar|madeline)$ [NC]
    RewriteRule ^ - [F,L]

    # [৪] CLEAN URL: HIDE .PHP EXTENSION (FIXED SPACE)
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}\.php -f
    RewriteRule ^([^/]+)$ $1.php [L]
</IfModule>

# ---------------------------------------------------
# 🛡️ ADDITIONAL PROTECTION FOR HIDDEN FILES & BACKUPS
# ---------------------------------------------------
<FilesMatch "^\..*">
    Order allow,deny
    Deny from all
</FilesMatch>

<FilesMatch "(composer\.json|composer\.lock|package\.json|yarn\.lock)$">
    Order allow,deny
    Deny from all
</FilesMatch>


# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php82” package as the default “PHP” programming language.
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php82 .php .php8 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit

# BEGIN cPanel-generated php ini directives, do not edit
# Manual editing of this file may result in unexpected behavior.
# To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor)
# For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI)
<IfModule php8_module>
   php_flag display_errors On
   php_value max_execution_time 300
   php_value max_input_time 300
   php_value max_input_vars 2000
   php_value memory_limit 512M
   php_value post_max_size 128M
   php_value session.gc_maxlifetime 1440
   php_value session.save_path "/var/cpanel/php/sessions/ea-php82"
   php_value upload_max_filesize 128M
   php_flag zlib.output_compression Off
</IfModule>
<IfModule lsapi_module>
   php_flag display_errors On
   php_value max_execution_time 300
   php_value max_input_time 300
   php_value max_input_vars 2000
   php_value memory_limit 512M
   php_value post_max_size 128M
   php_value session.gc_maxlifetime 1440
   php_value session.save_path "/var/cpanel/php/sessions/ea-php82"
   php_value upload_max_filesize 128M
   php_flag zlib.output_compression Off
</IfModule>
# END cPanel-generated php ini directives, do not edit
