# =============================================================
# urlshort-qr-gen – .htaccess fuer das Projekt-Stammverzeichnis
#
# Diese Datei wird NUR gebraucht, wenn beim Hoster der Webroot
# nicht auf /public gelegt werden kann (Shared-Hosting-Variante B
# in der README). Dann liegt das komplette Projekt im Webroot und
# diese Regeln leiten intern nach public/ weiter – gleichzeitig
# werden alle uebrigen Ordner gesperrt.
#
# Liegt der Webroot korrekt auf /public, ist diese Datei
# wirkungslos (sie liegt dann ausserhalb des Webroots).
# =============================================================
Options -Indexes
AddDefaultCharset UTF-8
RewriteEngine On
# 1) Nicht-oeffentliche Verzeichnisse hart sperren.
RewriteRule ^(src|templates|migrations|tests|docker|data|vendor|\.git)(/|$) - [F,L]
# 2) Konfigurations- und Projektdateien sperren.
RewriteRule ^(\.env|composer\.(json|lock)|phpunit\.xml|Dockerfile|docker-compose\.ya?ml|.*\.md)$ - [F,L]
# 3) Bereits nach public/ aufgeloeste Anfragen nicht erneut umschreiben.
RewriteCond %{REQUEST_URI} !^/?public/
RewriteRule ^(.*)$ public/$1 [L]
# Zusaetzlicher Schutz, falls mod_rewrite fehlt.
Require all denied
Order allow,deny
Deny from all