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:
Dieter Schlüter 2026-10-07 09:55:02 +02:00
commit 9c7e1ce4db

35
app/403/page.tsx Normal file
View file

@ -0,0 +1,35 @@
import { ErrorPage, Cmd, Out, Err } from '@/components/error-page'
import { RequestedPath } from '@/components/requested-path'
export const metadata = {
title: '403 – Zugriff verweigert | Jamulix',
description: 'Hier gilt chmod 000.',
robots: { index: false, follow: false },
}
export default function Forbidden() {
return (
<ErrorPage
code={403}
label="Zugriff verweigert"
title="Hier gilt chmod 000."
terminal={
<>
<Cmd>ls -l <RequestedPath /></Cmd>
<Err>ls: Zugriff auf &apos;<RequestedPath />&apos; nicht möglich: Keine Berechtigung</Err>
<Cmd>chmod 777 <RequestedPath /></Cmd>
<Err>chmod: Ändern der Zugriffsrechte nicht möglich: Operation nicht erlaubt</Err>
<Cmd>sudo chmod 777 <RequestedPath /></Cmd>
<Err>gast ist nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet.</Err>
<Cmd>whoami</Cmd>
<Out>gast</Out>
</>
}
tip={<>Tipp: Auch root war einmal <span className="text-accent">gast</span>.</>}
>
Die Seite gibt es – nur eben nicht für dich. Manche Verzeichnisse
bleiben aus gutem Grund verschlossen, selbst nach 50 Jahren
Unix-Erfahrung und mit freundlichem Fragen.
</ErrorPage>
)
}