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>
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
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 '<RequestedPath />' 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>
|
||
)
|
||
}
|