# ============================================================
# otel-projesi/.htaccess  (PROJE KÖKÜ)
#
# ÖNEMLİ: Normalde web sunucusunun DocumentRoot'u doğrudan
# public/ klasörüne işaret etmelidir (bkz. README.md → Kurulum).
# Bu .htaccess yalnızca DocumentRoot'u değiştiremediğiniz paylaşımlı
# hosting senaryoları için bir GÜVENLİK AĞI ve YÖNLENDİRME katmanıdır:
# tüm proje bu klasöre (örn. public_html/) yüklendiğinde
# - hassas klasörleri (config, core, lang, vendor) dışarıdan erişime kapatır
# - "/" ve tüm sayfa isteklerini şeffafça public/ altına yönlendirir
# - /uploads/... isteklerini olduğu gibi (kök dizindeki uploads/ klasörüne) bırakır
# ============================================================

# --- Hassas klasör ve dosyaları tamamen engelle ---
RewriteEngine On

<IfModule mod_authz_core.c>
    <FilesMatch "\.(sql|md|json|lock|env)$">
        Require all denied
    </FilesMatch>
</IfModule>
<IfModule !mod_authz_core.c>
    <FilesMatch "\.(sql|md|json|lock|env)$">
        Order allow,deny
        Deny from all
    </FilesMatch>
</IfModule>

RewriteRule ^(config|core|lang|vendor)(/.*)?$ - [F,L]

# --- uploads/ klasörünü olduğu gibi bırak (rewrite'a dahil etme) ---
RewriteRule ^uploads/ - [L]

# --- .htaccess, composer.json vb. kök dosyaları da erişime kapat ---
<FilesMatch "^\.">
    Require all denied
</FilesMatch>

# --- Geri kalan HER ŞEYİ public/ altına yönlendir ---
RewriteCond %{REQUEST_URI} !^/public/
RewriteCond %{REQUEST_URI} !^/uploads/
RewriteRule ^(.*)$ public/$1 [L]

Options -Indexes
