Hallöle,
also ich habe mir nach stundenlangem Suchen und ausprobieren folgenden Code gebastelt um meine Seite und SSL zu handlen:
Die erste Regel leitet von der de zu der com um, da nur für diese das SSL Zerti gilt.
Das funktioniert auch wunderbar. Dann soll SSL nur für bestimmte php Seiten aktiviert werden.
So sieht das vereinfacht aus:
In diesem Fall wird bei url/login.php in SSl geschaltet und bei verlassen der Seite wieder zurück. Das klappt auch. Jetzt habe ich aber folgendes Problem.
In der login.php befindet sich das login script. Ich habe auf der Hauptseite, sprich der index.php eine Kurzanmeldung, die das loginscript verwendet. Jetzt ist es so, dass diese Kurzanmeldung nicht mehr geht wegen dem SSL, also immer erst zu der login.php, der eigentlichen Loginseite umleitet.
Mir sind zwei Lösungsansätze eingefallen.
1. Der erste ich aktiviere für die index Seite SSL, wie oben im Beispiel. In diesem Fall klappt dann auch der Login. ABER
Der stellt zum verrecken die URL nach dem Login nicht wieder auf http um, obwohl es eine andere Seite ist (portal.php).
In diesem Zusammenhang habe ich versucht dem explizit zu sagen, dass er bei portal.php in den normalen http Modus schalten soll. Ist mir leider nicht geglückt.
2. Der zweite Lösungsansatz wäre eine Art weiterreichen an das loginscript, so dass er kurz die login aufruft, aber dann direkt weiterleitet.
Ich wäre sehr erfreut, wenn mir einer zu einem der Ansätze Tipps geben könnte, wie man das angehen kann oder vielleicht hat wer noch eine bessere Lösung.
Greetz Tribbi
also ich habe mir nach stundenlangem Suchen und ausprobieren folgenden Code gebastelt um meine Seite und SSL zu handlen:
Die erste Regel leitet von der de zu der com um, da nur für diese das SSL Zerti gilt.
Das funktioniert auch wunderbar. Dann soll SSL nur für bestimmte php Seiten aktiviert werden.
So sieht das vereinfacht aus:
HTML:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.url\.de$ [NC]
RewriteRule ^(.*) http://www.url.com/$1 [R=301]
RewriteCond %{HTTP_HOST} ^url\.de$ [NC]
RewriteRule ^(.*) http://www.url.com/$1 [R=301]
RewriteCond %{HTTP_HOST} ^url\.com$ [NC]
RewriteRule ^(.*) http://www.url.com/$1 [R=30
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_FILENAME} login.php [OR]
RewriteCond %{REQUEST_FILENAME} index.php
RewriteRule (.*) https://www.url.com%{REQUEST_URI} [L]
RewriteCond %{REQUEST_METHOD} !^POST$
RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{REQUEST_FILENAME} !login.php
RewriteCond %{REQUEST_FILENAME} !index.php
RewriteCond %{REQUEST_FILENAME} (.*)\.php
RewriteRule (.*) http://www.url.com%{REQUEST_URI} [L]
In diesem Fall wird bei url/login.php in SSl geschaltet und bei verlassen der Seite wieder zurück. Das klappt auch. Jetzt habe ich aber folgendes Problem.
In der login.php befindet sich das login script. Ich habe auf der Hauptseite, sprich der index.php eine Kurzanmeldung, die das loginscript verwendet. Jetzt ist es so, dass diese Kurzanmeldung nicht mehr geht wegen dem SSL, also immer erst zu der login.php, der eigentlichen Loginseite umleitet.
Mir sind zwei Lösungsansätze eingefallen.
1. Der erste ich aktiviere für die index Seite SSL, wie oben im Beispiel. In diesem Fall klappt dann auch der Login. ABER
Der stellt zum verrecken die URL nach dem Login nicht wieder auf http um, obwohl es eine andere Seite ist (portal.php).
In diesem Zusammenhang habe ich versucht dem explizit zu sagen, dass er bei portal.php in den normalen http Modus schalten soll. Ist mir leider nicht geglückt.
2. Der zweite Lösungsansatz wäre eine Art weiterreichen an das loginscript, so dass er kurz die login aufruft, aber dann direkt weiterleitet.
Ich wäre sehr erfreut, wenn mir einer zu einem der Ansätze Tipps geben könnte, wie man das angehen kann oder vielleicht hat wer noch eine bessere Lösung.
Greetz Tribbi