Moin,
403 war nicht gefordert; er ergibt sich jedoch aus der Forderung.
Ok, zusammen mit deinem anderen Posting ist mir das klar geworden.
Ähm... häh? Mir ist schon klar, dass Du einen <meta http-equiv> meinst; dieser jedoch stellt (daher der Name) ein HTTP-Äquivalent dar, nämlich einen 3xx-Status. Was das hier für eine Bedeutung haben soll, ist mir nicht ganz klar.
Ok, war blöd formuliert und ich konnte mich nicht ganz daran erinnern wie ich das gelöst hatte, das hatte ich nämlich schonmal (komplett anderer Kontext aber ähnliches Problem). Ich habe den Code zwar nicht wiedergefunden, aber die Erinnerung kehrt wieder:
Mach ein ganz normales ErrorDocument 401 /lala/der/pfad/zu/401.html und in diese Datei schreibst du dann in das Head-Element <meta http-equiv="Refresh" content="0; URL=http://anderer.server/pfad/zur/anderen/401.html"> (den entsprechenden HTTP-Header, also Refresh: 0; URL=..., zu senden müsste auch gehen, habe ich aber nicht getestet) und schon ist das Gewünschte erreicht. Alle Browser denen ich das eben in einem Schnelltest vorgeworfen habe (Mozilla 1.1, IE 5.5, Opera 6) haben es wunschgemäß gefressen.
Im Fehlerfall (und nur dann) wird das 401-ErrorDocument von deinem Server gerendert (geladen wird es in jedem Fall) und dann wird der Refresh aktiv und leitet sofort auf die Seite auf dem anderen Server um. Je nach Browser- und Netzgeschwindigkeit blinkt deine Seite nur mal kurz auf oder ist gar nicht zu sehen. Das Ganze ohne jeglichen 3xx-Status, im Zweifelsfalle funktioniert also höchstens die Umleitung nicht (für den Fall solltest du einen Link auf die andere Seite bereithalten), die Authentifizierung läuft unbeeinflusst ab.
--
Henryk Plötz
Grüße von der Ostsee