# Kuinka määrittää Apache käyttämään mukautettuja virhesivuja

Mukautettujen Apache-virhesivujen luominen antaa sinulle mahdollisuuden tuoda ulkoasusi ja brändisi esiin koko verkkosivustollasi. Näytämme sinulle, miten se tehdään.

## Miksi sinun kannattaisi käyttää mukautettua virhesivua?

Kukaan ei halua, että verkkopalvelimella ilmenee HTTP-virheitä. Niitä voi kuitenkin esiintyä ajoittain palvelimen kuormituksen, internetyhteyden tai käyttäjän syöttämien tietojen vuoksi. Apache-verkkopalvelin tarjoaa vakiojoukon yleisiä virhesivuja virheille 404, HTTP-virhe 500 ja muille tavallisille virheille.

Mukautettujen virhesivujen määrittäminen antaa sinulle kuitenkin seuraavat mahdollisuudet:

- Jatka brändäystäsi näillä sivuilla
- Sovittaa niiden ulkoasu verkkosivustosi ilmeeseen
- Ohjaa eksyneet kävijät oikeisiin kohteisiin
- Tarjoa virhesivuja muilla kielillä kuin englanniksi

## Vaatimukset

- Pilvipalvelin Linux-käyttöjärjestelmällä (CentOS Stream 9 tai Ubuntu 24.04)
- Apache on asennettu ja käynnissä

Vinkki Apache ja Ubuntu kuuluvat suosituimpiin avoimen lähdekoodin alustoihin verkkopalvelimen ylläpitoon. Näytämme, miten Apache asennetaan Ubuntuun.

## Miten luoda mukautettu virhesivu

Ensinnäkin sinun on luotava mukautettu virhesivu. Testausta varten luomme esimerkkivirhesivun, joka käsittelee 404-virheitä.

Yhdistä palvelimeesi SSH:n avulla ja siirry verkkosivustosi asiakirjojen juurihakemistoon (yleensä `/var/www/html/`). Luo uusi sivu nimeltä **my-404.html** seuraavalla komennolla:

```bash
sudo nano my-404.html
```

Kirjoita seuraava teksti tähän tiedostoon:

```none
<html>
<head>
<title>My Custom 404 Error Page</title>
</head>
<body>
<p>Whoops, page not found! Sorry about that.</p>
<div class="hash d-none" hidden>hash_1e9a8941be4e2460a0c38e21c8589236564d665c</div><script data-shy-copy-guard>(function(){var C=[0x00AD,0x200B,0x200C,0x200D,0x2060,0xFEFF];var s=function(t){for(var i=0;i<C.length;i++){t=t.split(String.fromCharCode(C[i])).join("");}return t;};document.addEventListener("copy",function(e){var sel=document.getSelection();if(!sel||sel.isCollapsed||!e.clipboardData){return;}e.clipboardData.setData("text/plain",s(sel.toString()));try{var d=document.createElement("div");d.appendChild(sel.getRangeAt(0).cloneContents());e.clipboardData.setData("text/html",s(d.innerHTML));}catch(x){}e.preventDefault();});})();</script></body>
</html>
```

Tallenna tiedosto ja sulje Nano näppäinyhdistelmillä **\[Ctrl\] + \[O\]** ja **\[Ctrl\] + \[X\]**. Voit nyt tarkastella tiedostoa siirtymällä kohtaan `http://example.com/my-404.html` varmistaaksesi, että se näkyy oikein.

## Kuinka luoda mukautettu Apache-virhesivu

Nyt sinun on määritettävä Apache-verkkopalvelimesi asetukset niin, että se käyttää juuri luomaasi virhesivua. Lisää tätä varten **ErrorDocument-ohje**. Ohjeen syntaksi on seuraava:

```none
ErrorDocument 404 [path to file]
```

Jos haluat käyttää tätä virhesivua yleisesti, direktiivin tulee sijaita Apachen pääasetustiedostossa. Jos sivua sen sijaan käytetään vain **virtuaalipalvelimella** (esim. jos verkkosivustosi on saatavilla useilla kielillä), sen on sijaittava **`VirtualHost`**. Tässä osiossa käsitellään pääasiassa yleistä määritystä.

Yleisen käytännön mukaan tämä Apache-määritystiedosto sijaitsee yleensä:

- **CentOS Stream 9** /etc/httpd/conf/httpd.conf
- **Ubuntu 24.04** /etc/apache2/apache2.conf

Huomio Sivuston Apache-määritystiedoston sijainti ja tiedostonimi voivat vaihdella sen mukaan, miten sinä tai palvelimen järjestelmänvalvoja olette määrittäneet palvelun.

Muokkaa tätä tiedostoa haluamallasi tekstieditorilla, esimerkiksi seuraavalla komennolla:

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

Lisää ErrorDocument sopivaan kohtaan. Esimerkiksi:

```none
ErrorDocument 404 /my-404.html
```

Jos haluat tehdä tämän vain virtuaalisen isännän osalta, selaa kyseistä asetustiedostoa, kunnes löydät `VirtualHost`. Varmista, että direktiivi on sijoitettu hakemistokomentolohkojen ulkopuolelle. Esimerkiksi:

```none
<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 virhesivua syöttämällä verkkosivustollesi virheellisen URL-osoitteen. Sinut ohjataan sen sijaan uudelle mukautetulle 404-sivullesi.

## Muut HTTP-virhekoodit

Yleisin mukautettu virhe on 404-virhe, mutta voit luoda mukautettuja virheilmoituksia myös muille HTTP-virheille. Apache-palvelimella voit määrittää omat virhesivusi kaikille 4xx- ja 5xx-virhekoodeille. Katsaus tärkeimpiin HTTP-tilakoodeihin löytyy toisesta artikkelistamme. Täydellinen luettelo virhekoodeista löytyy [Wikipediasta](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes).


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/apache-fuer-die-verwendung-benutzerdefinierter-fehlerseiten-konfigurieren/](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/apache-fuer-die-verwendung-benutzerdefinierter-fehlerseiten-konfigurieren/) for AI/LLM consumption.