Files
urlshort-qr-gen/public/.htaccess
T
florian.wilde fabaef1f2b feat(ui): Serverseitig gerenderte Oberflaeche ohne Build-Schritt
Eigenes CSS statt Framework, Vanilla-JavaScript, heller und dunkler
Modus. Ohne JavaScript bleibt alles bedienbar; das Liniendiagramm
faellt auf eine selbst gezeichnete Balkendarstellung zurueck, wenn das
CDN nicht erreichbar ist.

Chart.js ist auf eine Version festgelegt und per Subresource Integrity
an seinen Hash gebunden.

Die Domain-Seite enthaelt eine Schritt-fuer-Schritt-Anleitung fuer DNS,
Hosting-Panel und Zertifikat samt Fehlersuche.
2026-08-03 18:11:40 +02:00

60 lines
1.9 KiB
ApacheConf
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================
# urlshort-qr-gen – Apache-Konfiguration fuer den Webroot
# =============================================================
<IfModule mod_rewrite.c>
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]
</IfModule>
<IfModule !mod_rewrite.c>
# Ohne mod_rewrite funktionieren nur Aufrufe mit index.php/... –
# bitte mod_rewrite beim Hoster aktivieren.
ErrorDocument 404 /index.php
</IfModule>
# Authorization-Header durchreichen (manche CGI/FastCGI-Setups)
<IfModule mod_setenvif.c>
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
</IfModule>
# 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.
<IfModule mod_headers.c>
Header setifempty X-Content-Type-Options "nosniff"
Header setifempty X-Frame-Options "DENY"
Header setifempty Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
# Statische Assets duerfen gecacht werden
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType image/svg+xml "access plus 7 days"
</IfModule>
# Kein Zugriff auf Konfigurations- und Versionsdateien
<FilesMatch "^(\.env.*|composer\.(json|lock)|.*\.md|.*\.ya?ml|Dockerfile)$">
Require all denied
</FilesMatch>