Options -Indexes
RewriteEngine On

# HTTPS (SSL varsa etkinleştirin)
# RewriteCond %{HTTPS} off
# RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Admin
RewriteRule ^admin/?$ /admin/giris.php [L]
RewriteRule ^admin/index/?$ /admin/index.php [L]

# Üye
RewriteRule ^uye/?$ /uye/panel.php [L]
RewriteRule ^giris/?$ /uye/giris.php [L]
RewriteRule ^kayit/?$ /uye/kayit.php [L]

# İlçeler listesi (catch-all'dan ÖNCE)
RewriteRule ^ilceler/?$ /ilceler.php [L]

# İlçe sayfası: /ilce/kadikoy
RewriteRule ^ilce/([a-z0-9-]+)/?$ /hizmet-ilce.php?ilce=$1 [L,QSA]

# Kategori: /kategori/hali-yikama
RewriteRule ^kategori/([a-z0-9-]+)/?$ /hizmet-ilce.php?hizmet=$1 [L,QSA]

# Hizmet+İlçe catch-all: /hali-yikama/kadikoy
# Sistem kelimeleri bu kurala düşmez
RewriteCond %{REQUEST_URI} !^/(ilce|kategori|admin|uye|giris|kayit|ilceler|reklam|iletisim|uyelik|tik|hakkimizda|404|gizlilik|kullanim)
RewriteRule ^([a-z0-9-]+)/([a-z0-9-]+)/?$ /hizmet-ilce.php?hizmet=$1&ilce=$2 [L,QSA]

# Mevcut dosyalar için işlem yapma
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# 404
ErrorDocument 404 /404.php

# includes gizle
<IfModule mod_rewrite.c>
  RewriteRule ^includes/ - [F,L]
</IfModule>

# Upload güvenliği
<FilesMatch "\.(php|php5|phtml)$">
  <If "%{REQUEST_URI} =~ m|^/uploads/|">
    Require all denied
  </If>
</FilesMatch>

# Güvenlik başlıkları
<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
  Header always set X-Frame-Options "SAMEORIGIN"
  Header always set X-XSS-Protection "1; mode=block"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

# Önbellek
<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/jpg "access plus 1 month"
  ExpiresByType image/jpeg "access plus 1 month"
  ExpiresByType image/png "access plus 1 month"
  ExpiresByType image/webp "access plus 1 month"
  ExpiresByType text/css "access plus 1 week"
  ExpiresByType text/javascript "access plus 1 week"
</IfModule>

# GZIP
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript
</IfModule>
