# 🔹 БАН ТЯЖЁЛЫХ БОТОВ И ПАРСЕРОВ
<IfModule mod_rewrite.c>
    RewriteEngine On
    # Баним User-Agent, которые грузят сервер
    RewriteCond %{HTTP_USER_AGENT} (python|curl|wget|Go-http-client|HttpClient|nikto|scan|spider) [NC]
    RewriteCond %{HTTP_USER_AGENT} !^.*(googlebot|bingbot|yandexbot|mail\.ru_bot) [NC] # Разрешаем поисковиков
    RewriteRule ^.* - [F,L]
</IfModule>
AddDefaultCharset utf-8

# ============================================
# МАКСИМАЛЬНАЯ ПРОИЗВОДИТЕЛЬНОСТЬ ДЛЯ ДОНОРА
# ============================================

# Отключаем всё лишнее
<IfModule mod_headers.c>
    Header unset ETag
    FileETag None
</IfModule>

# ============================================
# КЭШИРОВАНИЕ СТАТИКИ (долго)
# ============================================
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 month"
</IfModule>

# ============================================
# БАННЕРЫ И ССЫЛКИ (короткое кэширование + CORS)
# ============================================
<FilesMatch "^(bancode|lincode)\.php$">
    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "*"
        Header set Cache-Control "public, max-age=60, must-revalidate"
        Header set Content-Type "application/javascript; charset=utf-8"
        Header set X-Content-Type-Options "nosniff"
    </IfModule>
</FilesMatch>

# ============================================
# СЖАТИЕ (обязательно)
# ============================================
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json
</IfModule>

# ============================================
# ЗАЩИТА
# ============================================
<FilesMatch "^(config|core|\.htaccess|\.env|\.ini)">
    Require all denied
</FilesMatch>

# ============================================
# ЗАПРЕТ ИНДЕКСАЦИИ ПАПОК
# ============================================
Options -Indexes