Feature: Fehlerseiten 401, 403, 500, 502, 503, 504
Gemeinsames Layout in components/error-page.tsx, 404 darauf umgestellt. Jede Route app/<code>/page.tsx erzeugt landingpage/<code>.html; die Deploy-Skripte kopieren alle Fehlerseiten in den Webroot. README dokumentiert die nötigen ErrorDocument-Zeilen (Server-Konfig unverändert). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
ea2bcfbd27
commit
9c7e1ce4db
1 changed files with 427 additions and 120 deletions
35
README.md
35
README.md
|
|
@ -98,6 +98,7 @@ Die E-Mail im Footer (`footer.tsx`) wird als Prop von `app/page.tsx` übergeben:
|
|||
- Öffnet eine SSH-Master-Verbindung (Passwort nur einmal eingeben)
|
||||
- rsync nach `jamulix.de:/var/www/jamulix.de/html/landingpage/`
|
||||
- Setzt Symlink: `/var/www/jamulix.de/html/index.html` → `landingpage/index.html`
|
||||
- Kopiert die Fehlerseiten `landingpage/<code>.html` in den Webroot
|
||||
|
||||
### Localhost (zum Testen)
|
||||
|
||||
|
|
@ -107,6 +108,7 @@ Die E-Mail im Footer (`footer.tsx`) wird als Prop von `app/page.tsx` übergeben:
|
|||
|
||||
- rsync nach `/var/www/html/landingpage/`
|
||||
- Symlink: `/var/www/html/index.html` → `landingpage/index.html`
|
||||
- Kopiert die Fehlerseiten in den Webroot
|
||||
- `sudo chown -R www-data:www-data`
|
||||
|
||||
### Warum `/landingpage/` als Unterverzeichnis?
|
||||
|
|
@ -115,6 +117,39 @@ Die E-Mail im Footer (`footer.tsx`) wird als Prop von `app/page.tsx` übergeben:
|
|||
unter `jamulix.de/` zu betreiben ohne Konflikte. rsync mit `--delete` löscht
|
||||
nur Dateien innerhalb von `landingpage/`, nicht andere Verzeichnisse im Webroot.
|
||||
|
||||
### Fehlerseiten
|
||||
|
||||
| Code | Quelle | Thema |
|
||||
|------|--------|-------|
|
||||
| 401 | `app/401/page.tsx` | Autorisierung erforderlich |
|
||||
| 403 | `app/403/page.tsx` | Zugriff verweigert |
|
||||
| 404 | `app/not-found.tsx` | Seite nicht gefunden |
|
||||
| 500 | `app/500/page.tsx` | Interner Serverfehler |
|
||||
| 502 | `app/502/page.tsx` | Bad Gateway |
|
||||
| 503 | `app/503/page.tsx` | Wartungsarbeiten |
|
||||
| 504 | `app/504/page.tsx` | Gateway Timeout |
|
||||
|
||||
Gemeinsames Layout: `components/error-page.tsx`. Der Build erzeugt
|
||||
`landingpage/<code>.html`; die Deploy-Skripte kopieren sie zusätzlich nach
|
||||
`<webroot>/<code>.html`. Alle Asset-Pfade sind absolut (`/landingpage/_next/…`),
|
||||
daher funktionieren die Kopien im Webroot genauso.
|
||||
|
||||
Damit Apache sie ausliefert, braucht die vHost-Konfiguration (nicht Teil
|
||||
dieses Repos) z. B.:
|
||||
|
||||
```apache
|
||||
ErrorDocument 401 /401.html
|
||||
ErrorDocument 403 /403.html
|
||||
ErrorDocument 404 /404.html
|
||||
ErrorDocument 500 /500.html
|
||||
ErrorDocument 502 /502.html
|
||||
ErrorDocument 503 /503.html
|
||||
ErrorDocument 504 /504.html
|
||||
```
|
||||
|
||||
- `ErrorDocument 401` muss ein lokaler Pfad sein, keine vollständige URL.
|
||||
- Die 401-Seite erscheint erst, wenn der Login-Dialog des Browsers abgebrochen wird.
|
||||
|
||||
---
|
||||
|
||||
## Design
|
||||
|
|
|
|||
Loading…
Reference in a new issue