# =============================================================
# urlshort-qr-gen – Apache-Konfiguration fuer den Webroot
# =============================================================
RewriteEngine On
# Falls die Anwendung in einem Unterverzeichnis liegt, ermittelt
# Apache die Basis in der Regel selbst. Bei Problemen hier setzen:
# RewriteBase /
# Vorhandene Dateien und Verzeichnisse direkt ausliefern
# (assets/, favicon.ico, ...).
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# Alles Uebrige an den Front Controller.
RewriteRule ^ index.php [L]
# Ohne mod_rewrite funktionieren nur Aufrufe mit index.php/... –
# bitte mod_rewrite beim Hoster aktivieren.
ErrorDocument 404 /index.php
# Authorization-Header durchreichen (manche CGI/FastCGI-Setups)
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
# Verzeichnislisting abschalten
Options -Indexes
# Standard-Zeichensatz
AddDefaultCharset UTF-8
# Sicherheits-Header fuer statische Dateien.
# "setifempty" statt "set", weil die Anwendung dieselben Header fuer
# PHP-Antworten selbst setzt - sonst wuerden sie doppelt ausgeliefert.
Header setifempty X-Content-Type-Options "nosniff"
Header setifempty X-Frame-Options "DENY"
Header setifempty Referrer-Policy "strict-origin-when-cross-origin"
# Statische Assets duerfen gecacht werden
ExpiresActive On
ExpiresByType text/css "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType image/svg+xml "access plus 7 days"
# Kein Zugriff auf Konfigurations- und Versionsdateien
Require all denied