# Zugriffsschutz fuer den gesamten Web-Root.
#
# restricted/.htaccess schuetzt nur ein Verzeichnis. Die Regeln hier greifen
# fuer den ganzen Baum und fangen ab, was ausserhalb davon liegt - allen voran
# das Git-Verzeichnis, ueber das sich sonst der komplette Quellcode samt
# Historie herunterladen laesst.

# --- Punkt-Verzeichnisse und -Dateien: .git, .claude, .gitignore ---
# .well-known bleibt frei, das brauchen Zertifikatsausstellungen.
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule (^|/)\.(?!well-known/) - [F,L]
</IfModule>
<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 404 (^|/)\.(?!well-known/)
    </IfModule>
</IfModule>

# --- Dateitypen, die der Browser nie anfordert ---
# Konfiguration, Python-Skripte, Datenhaltung, Vorlagen und Archive. Die
# Seite laedt ausschliesslich .php, .css, .js, Bilder und Schriften.
<FilesMatch "\.(ini|py|pyc|json|md|log|bak|example|sql|sqlite|db|tgz|gz|zip|yml|yaml)$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
    </IfModule>
</FilesMatch>
