Wie immer hab ich, 10 Minuten nachdem ich hier gepostet habe, selber eine, wenn auch nur halbwegs zufriedenstellende Lösung gefunden
Meine Apache config sieht jetzt so aus - ich benutze einfach einen global Alias (für alle Domains) für die error.php:
Code
Alias /meine-domain-error.php /var/www/internal/meine-domain-error.php
ErrorDocument 400 /meine-domain-error.php?errorCode=400
ErrorDocument 402 /meine-domain-error.php?errorCode=402
ErrorDocument 403 /meine-domain-error.php?errorCode=403
ErrorDocument 404 /meine-domain-error.php?errorCode=404
...
Die Config hab ich durch ein einfaches Bash-Script generiert:
Bash
#!/bin/bash
echo Alias /meine-domain-error.php /var/www/internal/meine-domain-error.php > /etc/apache2/conf-available/errordocs.conf
for errorcode in 400 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 421 422 423 424 426 428 429 431 451 500 501 502 503 504 505 506 507 508 510 511; do
echo ErrorDocument $errorcode /meine-domain-error.php?errorCode=$errorcode >> /etc/apache2/conf-available/errordocs.conf
done
Unschön, funktioniert aber
Weiß jemand ob es eventuell auch möglich ist, das zu erreichen, ohne die HTTP-Codes alle manuell aufzulisten?