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.
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# =============================================================
|
||||
# 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>
|
||||
Reference in New Issue
Block a user