Zur Navigation

Weiterleitung auf www - SSL funktioniert nicht mehr

1 stratoproblem (Gast)

Hallo,
ich habe bei meinem 301 ein kleines/großes Problem.
Ich habe im stammordner eine .htaccess die ganz normal auf die www weiterleitet. Es gibt nur ein Problem. Ich nutze die SSL seiten meines Providers und die funktionieren seither nicht mehr. Auf Nachfrage konnte mir der Sratomitarbeiter nur einen Lösungsansatz nenne, aber ich komme nicht weit. Normal bewegt sich der User natürlich nicht auf den ssl seiten, somit will ich auch nicht eine ständige ssl verlinkung einbauen.
Lösungsansatz: ich packe die zu SSL'ende Datei in ein Unterverzeichnis und erzeuge dort eine .htaccess, die immer auf den ssl server lenkt. nur schaffe ich das nicht.

mein URL hat folgendes Format: http://www.mydomain.de
auf dem SSL siehts so aus: http://www.ssl-id.de/www.mydomain.de

nun habe ich im root einen ordner erzeugt, darin eine index.php und eine .htaccess.
aus den vergangenen posts habe ich folgendes erzeugt:
RewriteEngine on
RewriteBase /myfolder
RewriteCond %{HTTP_HOST} !^www\.mydomain\.de$
RewriteRule ^(.*)$ https://www.ssl-id.de/www.mydomain.de/myfolder$1 [L,R=301]

das funktioniert aber nicht. er leitet nicht auf den https weiter, sondern es steht immer noch der http://www.mydomain.de drin - plus eine ewig langer Path. Woran liegt das? Wie komme ich auf den Server?

Danke für eure Mühen!

15.04.2009 09:25

2 Jörg

plus eine ewig langer Path

Das hört sich nach einer Endlosschleife an. Wie schaut der Pfad denn aus?

Wenn du HTTPS Seiten von einer Standardweiterleitung ausnehmen möchtest, würde ich hierfür eine Ausnahme definieren. Normalerweise läuft HTTPS über Port 443, also könnte man dies folgendermaßen probieren:

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

15.04.2009 12:42

3 stratoproblem (Gast)

ja - und ein ewig langer path - endlosschleife stimmt - nach kleinen anpassungen hat der FF auch sowas mal gesagt. Der Pfad war anfangs meine URL (mit www) plus kompletter!!! root meines webverzeichnisses. und am ende dann der subfolder. Hier hatte ich versucht, den Code aus der .htaccess im Webfolder abzuwandeln und im Subfolder zu speichern.

dann nach kleinen änderungen hatte ich nur noch die domain (mit www) und der subfolder kam immer wieder und wieder... Hier habe ich ohne RewriteCond gearbeitet und nur eine Rule erstellt, die ähnlich dem aussah: RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]

ich kanns leider nicht mehr genau sagen


aber:
ich habe jetzt eine Lösung implementiert die funktioniert, weiß aber nicht ob die elegant ist.
Webfolder .htaccess:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.de$
RewriteRule ^(.*)$ http://www.mydomain.de/$1 [L,R=301]

Subfolder .htaccess:
RewriteEngine on
RewriteRule ^subfolder\.php$ https://www.ssl-id.de/www.mydomain.de/subfolder$1 [L,R=301]

Meine Vermutung ist aber, dass das nicht soelegant ist. Ist aber nur intuitiv.

ABER!!!
Deine Lösung scheint zu fnktionieren, jedenfalls habe ich bisher noch keinee fehlverlinkung entdeckt! Wenn was schief läuft meld ich mich nochmal ansonsten: Riesen Dank!!!

15.04.2009 15:04

4 Jörg

aber:
ich habe jetzt eine Lösung implementiert die funktioniert, weiß aber nicht ob die elegant ist.
Webfolder .htaccess:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.mydomain\.de$
RewriteRule ^(.*)$ http://www.mydomain.de/$1 [L,R=301]

Subfolder .htaccess:
RewriteEngine on
RewriteRule ^subfolder\.php$ https://www.ssl-id.de/www.mydomain.de/subfolder$1 [L,R=301]

Meine Vermutung ist aber, dass das nicht soelegant ist. Ist aber nur intuitiv.

Naja, es mag funktionieren, aber elegant ist das nicht grad ;). Du leitest im Falle der subfolder.php erst weiter zur Standarddomain und in einer zweiten Weiterleitung wieder zurück zur SSL-Domain. Meine Ausnahmeregelung ist insofern besser, als in diesem Fall überhaupt nicht weitergeleitet wird.

15.04.2009 15:12

5 Forum

2 Beiträge aus diesem Thread wurden in einen neuen Thread verschoben:

https Seite weiterleiten

05.12.2009 08:22

... 6 Monate später ...

6 hheineck

Hallo an alle,

ich setzte Application Express von Oracle ein (WebLogic Server von BEA)und möchte für die komplexen Adressen, z.B. http://server:7777/pls/apex/f?p=600:1:0 einfachere Bezeichner, z.B http://server:7777/Name verwenden. Die Einträge für http habe so auch wunderbar funktioniert. Jetzt habe ich auf SSL mit HTTPS umgestellt und die Regeln von RewriteRule laufen völlig ins Lehre. Mein Ziel ist es, bei den beiden Aufrufen im Browser
a) http://server:7777/Name und
b) https://server:4443/Name immer zur Seite https://server:4443/pls/apex/f?p=600:1:0 weiterzuleiten. Fall a) funktioniert. Für b) scheint die 2. RewriteRule nicht zu funktionieren.

mein httpd.conf:
RewriteEngine   On
RewriteRule     ^/pls/apex/(.*)$ https://server:4443/pls/apex/$1 [L,R]
RewriteRule     ^/Name$ http://server:7777/pls/apex/f?p=600:1:0 [R=301]
Für http benutzt Oracle den Port 7777 und für https den Port 4443.

Fehler: Anfrage konnte nicht ausgeführt werden

Firefox konnte die Seite aus unbekanntem Grund nicht laden.


Wer kann mir helfen? Danke im Voraus

20.06.2010 09:16 | geändert: 20.06.2010 10:09

7 Jörg

Die zweite Rule müsste aber jetzt so ausschauen (?):

RewriteRule     ^/Name$ https://server:4443/pls/apex/f?p=600:1:0 [R=301]

Detaillierteren Aufschluss über den Fehler könnte ein RewriteLog liefern

20.06.2010 12:13

8 hheineck

Hallo Jörg,

die 2. Rule habe ich deswegen so gelassen, damit
a) auch noch funktioniert
In der Zwischenzeit habe ich den Eintrag
RewriteEngine on
RewriteOptions Inherit
in den <VirtualHost> Bereich der ssl.conf eingefügt und bekomme jetzt einen anderen Fehler:
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.
Dieses Problem kann manchmal auftreten, wenn Cookies deaktiviert oder abgelehnt werden.


Was kann ich jetzt noch machen? Danke Horst

20.06.2010 13:00

9 hheineck

Hallo Jörg,

das RewriteLog liefert folgende Ausgabe
127.0.0.1 - - [20/Jun/2010:13:03:23 +0200] [server/sid#70eaad0][rid#71c8eb8/initial] (2) init rewrite engi
ne with requested uri /index.html
127.0.0.1 - - [20/Jun/2010:13:03:23 +0200] [server/sid#70eaad0][rid#71c8eb8/initial] (1) pass through /ind
ex.html
127.0.0.1 - - [20/Jun/2010:13:03:43 +0200] [server/sid#70eaad0][rid#72592b8/initial] (2) init rewrite engi
ne with requested uri /index.html
127.0.0.1 - - [20/Jun/2010:13:03:43 +0200] [server/sid#70eaad0][rid#72592b8/initial] (1) pass through /ind
ex.html
Damit kann ich nichts anfangen.
Danke Horst

20.06.2010 13:07

10 Jörg

Die erste Rule leitet auf sich selbst weiter, wenn sie unter https://server:4443 aufegrufen wird. Da hilft vielleicht eine RewriteCond zum Ausschluss dieses Ports:

RewriteCond %{SERVER_PORT} !^4443$
RewriteRule     ^/pls/apex/(.*)$ https://server:4443/pls/apex/$1 [L,R]

20.06.2010 13:15