Mu­kau­tet­tu­jen Apache-vir­he­si­vu­jen luominen antaa sinulle mah­dol­li­suu­den tuoda ulkoasusi ja brändisi esiin koko verk­ko­si­vus­tol­la­si. Näytämme sinulle, miten se tehdään.

Miksi sinun kan­nat­tai­si käyttää mu­kau­tet­tua vir­he­si­vua?

Kukaan ei halua, että verk­ko­pal­ve­li­mel­la ilmenee HTTP-virheitä. Niitä voi kuitenkin esiintyä ajoittain pal­ve­li­men kuor­mi­tuk­sen, in­ter­ne­tyh­tey­den tai käyttäjän syöt­tä­mien tietojen vuoksi. Apache-verk­ko­pal­ve­lin tarjoaa va­kio­jou­kon yleisiä vir­he­si­vu­ja virheille 404, HTTP-virhe 500 ja muille ta­val­li­sil­le virheille.

Mu­kau­tet­tu­jen vir­he­si­vu­jen mää­rit­tä­mi­nen antaa sinulle kuitenkin seuraavat mah­dol­li­suu­det:

  • Jatka brän­däys­tä­si näillä sivuilla
  • Sovittaa niiden ulkoasu verk­ko­si­vus­to­si ilmeeseen
  • Ohjaa eksyneet kävijät oikeisiin koh­tei­siin
  • Tarjoa vir­he­si­vu­ja muilla kielillä kuin englan­nik­si

Vaa­ti­muk­set

  • Pil­vi­pal­ve­lin Linux-käyt­tö­jär­jes­tel­mäl­lä (CentOS Stream 9 tai Ubuntu 24.04)
  • Apache on asennettu ja käynnissä

Miten luoda mu­kau­tet­tu virhesivu

En­sin­nä­kin sinun on luotava mu­kau­tet­tu virhesivu. Testausta varten luomme esi­merk­ki­vir­he­si­vun, joka kä­sit­te­lee 404-virheitä.

Yhdistä pal­ve­li­mee­si SSH:n avulla ja siirry verk­ko­si­vus­to­si asia­kir­jo­jen juu­ri­ha­ke­mis­toon (yleensä /var/www/html/). Luo uusi sivu nimeltä my-404.html seu­raa­val­la ko­men­nol­la:

sudo nano my-404.html
bash

Kirjoita seuraava teksti tähän tie­dos­toon:

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

Tallenna tiedosto ja sulje Nano näp­päi­nyh­dis­tel­mil­lä [Ctrl] + [O] ja [Ctrl] + [X]. Voit nyt tar­kas­tel­la tiedostoa siir­ty­mäl­lä kohtaan http://example.com/my-404.html var­mis­taak­se­si, että se näkyy oikein.

Kuinka luoda mu­kau­tet­tu Apache-virhesivu

Nyt sinun on mää­ri­tet­tä­vä Apache-verk­ko­pal­ve­li­me­si asetukset niin, että se käyttää juuri luomaasi vir­he­si­vua. Lisää tätä varten Er­ror­Docu­ment-ohje. Ohjeen syntaksi on seuraava:

ErrorDocument 404 [path to file]

Jos haluat käyttää tätä vir­he­si­vua yleisesti, di­rek­tii­vin tulee sijaita Apachen pää­ase­tus­tie­dos­tos­sa. Jos sivua sen sijaan käytetään vain vir­tu­aa­li­pal­ve­li­mel­la (esim. jos verk­ko­si­vus­to­si on saa­ta­vil­la useilla kielillä), sen on si­jait­ta­va VirtualHost. Tässä osiossa kä­si­tel­lään pää­asias­sa yleistä mää­ri­tys­tä.

Yleisen käytännön mukaan tämä Apache-mää­ri­tys­tie­dos­to sijaitsee yleensä:

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

Sivuston Apache-mää­ri­tys­tie­dos­ton sijainti ja tie­dos­to­ni­mi voivat vaihdella sen mukaan, miten sinä tai pal­ve­li­men jär­jes­tel­män­val­vo­ja olette mää­rit­tä­neet palvelun.

Muokkaa tätä tiedostoa ha­lua­mal­la­si teks­tie­di­to­ril­la, esi­mer­kik­si seu­raa­val­la ko­men­nol­la:

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

Lisää Er­ror­Docu­ment sopivaan kohtaan. Esi­mer­kik­si:

ErrorDocument 404 /my-404.html

Jos haluat tehdä tämän vain vir­tu­aa­li­sen isännän osalta, selaa kyseistä ase­tus­tie­dos­toa, kunnes löydät VirtualHost. Varmista, että di­rek­tii­vi on si­joi­tet­tu ha­ke­mis­to­ko­men­to­loh­ko­jen ul­ko­puo­lel­le. Esi­mer­kik­si:

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

Tallenna tiedosto ja sulje se, ja käynnistä sitten Apache uudelleen, jotta muutokset tulevat voimaan:

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

Lopuksi voit testata vir­he­si­vua syöt­tä­mäl­lä verk­ko­si­vus­tol­le­si vir­heel­li­sen URL-osoitteen. Sinut ohjataan sen sijaan uudelle mu­kau­te­tul­le 404-sivullesi.

Muut HTTP-vir­he­koo­dit

Yleisin mu­kau­tet­tu virhe on 404-virhe, mutta voit luoda mu­kau­tet­tu­ja vir­heil­moi­tuk­sia myös muille HTTP-virheille. Apache-pal­ve­li­mel­la voit määrittää omat vir­he­si­vusi kaikille 4xx- ja 5xx-vir­he­koo­deil­le. Katsaus tär­keim­piin HTTP-ti­la­koo­dei­hin löytyy toisesta ar­tik­ke­lis­tam­me. Täy­del­li­nen luettelo vir­he­koo­deis­ta löytyy Wi­ki­pe­dias­ta.

Siirry pää­va­lik­koon