Ved at oprette bru­ger­de­fi­ne­re­de Apache-fejlsider kan du blandt andet sikre, at dit design og din branding fremstår på hele dit websted. Vi viser dig, hvordan du gør.

Hvorfor bør du have en bru­ger­de­fi­ne­ret fejlside?

Ingen ønsker, at der opstår HTTP-fejl på deres webserver. Det kan dog ske fra tid til anden, afhængigt af ser­ver­be­last­nin­gen, in­ter­net­for­bin­del­sen eller bru­ger­ind­tast­nin­ger. Apache-web­ser­ve­ren in­de­hol­der et stan­dar­d­ud­valg af generiske fejlsider til fejl 404, HTTP-fejl 500 og andre al­min­de­li­ge fejl.

Ved at kon­fi­gu­re­re bru­ger­de­fi­ne­re­de fejlsider kan du dog:

  • Fortsæt din branding på disse sider
  • Integrer deres design i udseendet og stilen på din hjem­mesi­de
  • Led besøgende, der er kommet på afveje, til deres op­rin­de­li­ge desti­na­tion
  • Tilbyd fejlsider på andre sprog end engelsk

Krav

  • Cloud-server under Linux (CentOS Stream 9 eller Ubuntu 24.04)
  • Apache er in­stal­le­ret og kører

Sådan opretter du en bru­ger­de­fi­ne­ret fejlside

Først skal du oprette den bru­ger­de­fi­ne­re­de fejlsiden. Til test­for­mål opretter vi en eksempel-fejlsiden, der skal håndtere 404-fejl.

Brug SSH til at oprette for­bin­del­se til din server, og gå til din hjem­mesi­des do­ku­men­trod (ofte /var/www/html/). Opret en ny side med navnet my-404.html ved hjælp af kom­man­do­en:

sudo nano my-404.html
bash

Indsæt følgende i denne fil:

<html>
<head>
<title>My Custom 404 Error Page</title>
</head>
<body>
<p>Whoops, page not found! Sorry about that.</p>
</body>
</html>

Gem filen, og luk Nano ved at trykke på tast­kom­bi­na­tio­ner­ne [Ctrl] + [O] og [Ctrl] + [X]. Du kan nu åbne filen ved at gå til http://example.com/my-404.html for at sikre, at den vises korrekt.

Sådan opretter du en bru­ger­de­fi­ne­ret fejlside i Apache

Nu skal du kon­fi­gu­re­re din Apache-webserver, så den også bruger den fejlside, du lige har oprettet. For at gøre dette skal du tilføje en Er­r­or­Do­cu­ment-direktiv. Syntaksen for denne direktiv er:

ErrorDocument 404 [path to file]

Hvis du vil bruge denne fejlside globalt, skal di­rek­ti­vet placeres i Apaches ho­ved­kon­fi­gu­ra­tions­fil. Hvis siden derimod kun skal bruges til en virtuel vært (f.eks. hvis din hjem­mesi­de findes på flere sprog), skal den placeres i en VirtualHost -blok. I dette afsnit vil vi primært be­skæf­ti­ge os med den globale kon­fi­gu­ra­tion.

I henhold til al­min­de­lig praksis er denne Apache-kon­fi­gu­ra­tions­fil normalt:

  • CentOS Stream 9 /etc/httpd/conf/httpd.conf
  • Ubuntu 24.04 /etc/apache2/apache2.conf
Note

Pla­ce­rin­gen og filnavnet på et websteds Apache-kon­fi­gu­ra­tions­fil kan variere afhængigt af, hvordan du eller din ser­ve­rad­mi­ni­stra­tor har kon­fi­gu­re­ret hosting.

Rediger denne fil med det tek­stre­di­ge­rings­pro­gram, du fo­re­træk­ker, f.eks. med kom­man­do­en:

  • CentOS Stream 9: sudo nano /etc/httpd/conf/httpd.conf
  • Ubuntu 24.04 sudo nano /etc/apache2/apache2.conf

Indsæt Er­r­or­Do­cu­ment på et passende sted. For eksempel:

ErrorDocument 404 /my-404.html

Hvis du kun vil gøre dette for en virtuel vært, skal du bladre gennem den på­gæl­den­de kon­fi­gu­ra­tions­fil, indtil du finder VirtualHost. Sørg for, at di­rek­ti­vet placeres uden for directory-kom­man­doblok­ke­ne. For eksempel:

<VirtualHost *:80>
ServerName example.com
ErrorDocument 404 /my-404.html
    <Directory "/var/www/example.com/html">
    AllowOverride All
    </Directory>
</VirtualHost>

Gem og luk filen, og genstart derefter Apache, så æn­drin­ger­ne træder i kraft:

  • CentOS Stream 9 sudo systemctl restart httpd
  • Ubuntu 24.04 sudo systemctl restart apache2

Til sidst skal du teste din fejlside ved at indtaste en ugyldig URL til din hjem­mesi­de. Du vil i stedet blive om­di­ri­ge­ret til din nye bru­ger­de­fi­ne­re­de 404-side.

Andre HTTP-fejlkoder

Den mest al­min­de­li­ge bru­ger­de­fi­ne­re­de fejl er 404-fejlen, men du kan også oprette bru­ger­de­fi­ne­re­de fejl­med­del­el­ser til andre HTTP-fejl. Apache giver dig mulighed for at kon­fi­gu­re­re dine egne fejlsider for alle 4xx- og 5xx-fejlkoder. Du kan finde en oversigt over de vigtigste HTTP-sta­tus­ko­der i en af vores andre artikler. En komplet liste over fejlkoder findes på Wikipedia.

Gå til ho­ved­me­nu­en