====== Apache - globální nastavení ======
===== Upravené globální error hlášky =====
Někdy je užitečné zapojit na serveru naše vlastní error hlášky s nějakým popisem a odkazem třeba na web správce serveru, je to užitečné pro aplikace, které nemají vlastní obsluhu error hlášek.
V apachi je potřeba povolit tyto moduly: **alias, negotiation, include**
Následně upravíme soubor /etc/apache2/conf.d/localized-error-pages (na debianu, popr. jiny dle distribuce)
Alias /error/ "/var/www/_tpl/error/"
AllowOverride None
Options IncludesNoExec FollowSymLinks
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
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
Následně je možné vytvořit v adresáři (v našem případě /var/www/_tpl/error/) soubory dle chybových hlášek (viz. *.var).
Já jsem jen upravil přednastavené soubory z instalace Apache. Příklad je zde:
...
----------cs--
Content-language: de
Content-type: text/html; charset=ISO-8859-1
Body:----------de--
Ihr Browser (oder Proxy) hat eine ungültige Anfrage
gesendet, die vom Server nicht beantwortet werden kann.
----------de--
Content-language: en
Content-type: text/html; charset=ISO-8859-1
Body:----------en--
Your browser (or proxy) sent a request that
this server could not understand.
----------en--
...