Wenn du einfach nur Status 401 sendest, dann wird der Inhalt deiner Seite zusammen mit diesem HTTP-Status an den Browser geschickt - was wiederum verursacht, dass der Browser seinen Benutzer nach Username und Passwort fragt, und wenn der Benutzer den Vorgang abbricht, anstelle dessen die ausgelieferte Seite anzeigt - das ist die, die du eigentlich schützen wolltest, oder?
Ja das ist die, die ich schützten möchte.
Die User Authentifikation findet über ein php Script statt und nicht mit der Apache Komponente, weil es mehrere Benutzergruppen gibt und jede Gruppe auf andere Seiten Zugriff hat. Ausserdem können die Berechtigung durch eine Weboberfläche gesteuert werden.
Das mit der normalen Weiterleitung header("Location: ..."); hab ich mir auch überlegt, doch fände ich es passender, wenn der Server selbst, anhand des Status Codes die Seite ausliefert.