Apache HTTP-palvelin
APACHE HTTPD KOULUTUSTA VUONNA 2025!
Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi heti! Koulutuksen järjestää asiantuntijasi Koulutus- ja konsultointipalvelu KK Mediat.
Miten luot mukautettuja virheilmoituksia Apache-palvelimella
Apache tukee mukautettuja virhesivuja ja virheilmoituksia ErrorDocument-direktiivin avulla. Tämän avulla palvelin voi näyttää kustomoituja virhesivuja selaimen virheilmoitusten sijaan. Esimerkiksi 404-virhe voidaan ohjata mukautetulle HTML-sivulle.
Mukautettu virhesivu voi sisältää esimerkiksi lisätietoa virheestä, ohjeita käyttäjälle tai uudelleenohjauksen toiselle sivulle. ErrorDocument-direktiiville annetaan arvoksi joko merkkijono (esim. teksti) tai URI, joka osoittaa halutun virhesivun:
ErrorDocument 500 "tosi paha koodimoka..."
ErrorDocument 404 /eiooeikatuu.html
ErrorDocument 404 "/cgi-bin/kateissa.pl"
ErrorDocument 302 http://www.2kmediat.com/konehuone/default.asp
Yleisin käytäntö on luoda virheilmoituksille oma aliaskansio ja noutaa mukautetut virheilmoitukset sieltä. Alla olevassa esimerkissä hyödynnetään Apachen tukea monikielisyydelle ja virheilmoitukset näytetään käyttäjän selaimen suosimalla kielellä:
<IfModule mod_negotiation.c>
IfModule mod_include.c>
Alias /error/ "C:/ApacheWeb/errors/"
<Directory "C:/ApacheWeb/errors">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority fi en es de fr
ForceLanguagePriority Prefer Fallback
</Directory>
ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
ErrorDocument 410 /error/HTTP_GONE.html.var
ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
</IfModule>
</IfModule>