Hi,
ähem, der Code ist kein großer Unterschied zu Deinem ersten Versuch. Die Remote_Addr(ess) 192.168.1.1 gehört zu den in internen Netzen zu vergebenden IP-Adressen, die hat hier keine Relevanz.
Die anderen beiden Zeilen machen ansonsten nicht wirklich etwas anderes als Dein erster Versuch aus dem Eingangspost.
Daher versuche ich nochmal, meinen letzten Ansatz für Dein Problem zu verfeinern.
Ich habe in den beiden obigen Blöcken von mir einen kleinen Fehler entdeckt, hier noch einmal die Korrektur zum Testen:
Code: Alles auswählen
RewriteCond %{REQUEST_URI} !^/login\.php$
RewriteCond %{REQUEST_URI} !^/create_account\.php$
RewriteCond %{REQUEST_URI} !^/account\.php$
RewriteCond %{REQUEST_URI} !^/(.+)\.gif$
RewriteCond %{REQUEST_URI} !^/stylesheet\.css$
RewriteCond %{REQUEST_URI} !^/checkout_shipping\.php$
RewriteCond %{HTTP_HOST} !^www\.domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301]
RewriteCond %{REQUEST_URI} ^/login\.php$ [OR]
RewriteCond %{REQUEST_URI} ^/create_account\.php$ [OR]
RewriteCond %{REQUEST_URI} ^/account\.php$ [OR]
RewriteCond %{REQUEST_URI} ^/checkout_shipping\.php$
RewriteCond %{HTTP:X-FORWARDED-SERVER} !^ssl\.kundenserver\.de$
RewriteRule ^(.*)$ https://ssl.kundenserver.de/domain.de/$1 [R=301]
Falls damit nicht der gewünschte Effekt erzielt wird, probier mal, die Backslashes vor den Punkten in den RewriteCond-suchmustern wegzulassen, also:
Code: Alles auswählen
RewriteCond %{REQUEST_URI} !^/login.php$
RewriteCond %{REQUEST_URI} !^/create_account.php$
RewriteCond %{REQUEST_URI} !^/account.php$
RewriteCond %{REQUEST_URI} !^/(.+).gif$
RewriteCond %{REQUEST_URI} !^/stylesheet.css$
RewriteCond %{REQUEST_URI} !^/checkout_shipping.php$
RewriteCond %{HTTP_HOST} !^www.domain.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301]
RewriteCond %{REQUEST_URI} ^/login.php$ [OR]
RewriteCond %{REQUEST_URI} ^/create_account.php$ [OR]
RewriteCond %{REQUEST_URI} ^/account.php$ [OR]
RewriteCond %{REQUEST_URI} ^/checkout_shipping.php$
RewriteCond %{HTTP:X-FORWARDED-SERVER} !^ssl.kundenserver.de$
RewriteRule ^(.*)$ https://ssl.kundenserver.de/domain.de/$1 [R=301]
Wichtig: hier muss, wie oben beschrieben, jede Datei (wie z.B. login.php), die über SSL laufen soll, im ersten Block und im zweiten Block aufgeführt werden, im ersten Block jedoch mit einem
! (Ausrufezeichen = bedeutet bei Modrewrite "
nicht") davor.
Um mal kurz zu erklären, was diese Blöcke machen:
Der erste Block sagt, wenn die Datei nicht /login.php und nicht /create_account.php und nicht ... und nicht checkout_shipping.php heißt und die Domain nicht
www.domain.de ist, dann leite die Anfrage auf
www.domain.de um, also z.B. domain.de/teelichter.html ->
www.domain.de/teelichter.html
Der zweite Block nun sagt, wenn die Datei /login.php oder /create_account.php oder ... oder /checkout_shipping.php heißt
und der SSL-Proxy nicht verwendet wird, leite die Anfrage auf den SSL-Proxy um.
Das bedeutet dann aber, dass man wirklich alle URLs erwischen muss, die über den SSl-Proxy laufen sollen, also z.B. auch alle Grafiken (oben unter der Regex "/(.+).gif" eingebunden) oder Stylesheets oder ausgelagerte Javascripts (würden diese nicht mit aufgenommen werden, würden das SSL-Protokoll darüber schimpfen, dass die Inhalte teilweise nicht sicher sind).
MfG
Chris
Edit: noch einen kleinen Copy&Paste-Fehler beseitigt. @ 17:16