# Dizin listelemeyi kapat
Options -Indexes

# PHP hata gösterimini kapat
php_flag display_errors off

# Güvenlik başlıkları
<IfModule mod_headers.c>
    # Varsayılan güvenlik başlıkları
    Header set X-XSS-Protection "1; mode=block"
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-Content-Type-Options "nosniff"
    Header set Referrer-Policy "same-origin"
    Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</IfModule>

# Hassas dosyalara erişimi engelle
<FilesMatch "^(\.htaccess|\.htpasswd|\.git|\.env|composer\.json|composer\.lock)">
    Order allow,deny
    Deny from all
</FilesMatch>

# PHP dosyalarına doğrudan erişimi engelle
<FilesMatch "^(config|includes)">
    Order allow,deny
    Deny from all
</FilesMatch>

# Yönlendirmeler
RewriteEngine On

# PayTR callback URL'leri için özel kural
# SetEnvIf Request_URI "^/yonetim/callback/" CALLBACK_URL

# Normal yönlendirme kuralları
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{ENV:CALLBACK_URL} !^true$
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

# Hata sayfaları
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php

# PHP değerleri
php_value post_max_size 20M
php_value max_input_vars 10000
php_value max_execution_time 60 