Hi Andreas,
Ich glaube Du hast mir noch nie vor 2 Uhr Nachts
geantwortet ;-)
Traditionen sind dazu da, sie zu brechen. ;-)
es soll so funktionieren, das der Mitarbeiter in
seinen Browser "www.doamin.de/verzeichnis" eingibt,
dann auf "https://www.doamin.de/verzeichnis"
umgeleitet wird und sich erst danach das Login-
Fenster von htaccess öffnet.
Das geht - wenn Du nicht verlangst, daß beides auf
dasselbe Verzeichnis auf der Festplatte zeigt.
Du hast eine Menge Konfigurationsmöglichkeiten,
dies zu ändern (Alias etc.).
Also der Server ist derselbe, ich kann die selben
Inhalte über http://domain.de/seite.htm ansprechen,
wie über https://domain.de/seite.htm. htaccess-
geschützt ist nur ein Unterverzeichnis für den
Internen Bereich.
"Der Server" ist für den Client nicht derselbe.
Daß die Daten bei Dir auf derselben Maschine liegen und
sogar im selben Verzeichnis, kann und darf der Client
nicht wissen.
Übrigens: Wieso ist dieses Verzeichnis denn für
HTTP und HTTPS gleich gemappen, wenn es ohnehin nur
via HTTPS ansprechbar sein soll? Blende via "Alias"
in der HTTPS-Version das Verzeichnis ein, während Du
in der HTTP-Version eine mod_rewrite-Regel schreibst,
welche die Weiterleitung macht. (Dann brauchst Du
nicht mal PHP dafür - und das Verzeichnis existiert
jetzt nur noch in der HTTPS-Welt, kann also in der
HTTP-Welt keine Interpretation der .htaccess-Datei
mehr auslösen.)
Nur leider muß man sich einmal vor dem Start des
php-Scriptes einloggen, und bei Weiterleitung auf
das im Prinzip selbe Verzeichnis nochmals.
Nochmal: Entferne den Verzeichnis-URL aus dem HTTP-
Server, belasse ihn aber im URL-Raum des HTTPS-Servers.
Ist das überhaupt möglich wenn ich das PHP-
Script in dem htaccess-geschützen Verzeichnis
habe?
Nicht, wenn beide auf dasselbe Verzeichnis zeigen.
In Deinem Szenario würde ich übrigens vollständig
auf .htaccess verzichten und die entsprechenden Direk-
tiven in Deine httpd.conf schreiben, und zwar direkt
an der Stelle, wo Du via Alias-Direktive das Verzeich-
nis in den HTTPS-VirtualHost einblendest.
Genau das ist das Problem. Ich möchte ja lediglich
irgendwie Anfragen an den http Server zunächst an
den https weiterleiten, und erst danach soll die
Eingabe der Benutzerdaten erfolgen.
Dann verhindere, daß die .htaccess im HTTP-Universum
verwendet wird. Du hast viele verschiedene Möglich-
keiten dafür ... die abstruseste wäre, den Namen dieser
Datei im Apache umzudefinieren. ;-)
Die sinnvollste wäre, das Verzeichnis, das im HTTP-
Universum eh nicht angesprochen werden darf, dort auch
gar nicht existieren zu lassen.
Viele Grüße
Michael