Seite 1 von 1

URL-Weiterleitung HTTP und HTTPS

Verfasst: 28.09.2011, 22:49
von osgee
Hallo Leute,

Ich habe ein Problem und schaffe es irgendwie nicht, dieses selbst zu lösen ... und zwar hab ich eine Domain mit mehreren Domainänderungen (.net, .org, etc) - sind auch alle mit www und ohne www erreichbar.

Da ich wollte, dass die Seiten ausschließlich über die .net Domain mit www erreichbar sind und auch weitergeleitet werden (auch Unterseiten) habe ich folgende Regeln erstellt:

RewriteCond %{HTTP_HOST} ^testdomain\.org$ [NC]
RewriteRule ^(.*)$ https://www.testdomain.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.testdomain\.org$ [NC]
RewriteRule ^(.*)$ https://www.testdomain.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^testdomain\.net$ [NC]
RewriteRule ^(.*)$ https://www.testdomain.net/$1 [R=301,L]

Dadurch werden auch Aufrufe auf Unterseiten richtig umgeleitet (z.B. Aufruf von testdomain.org/abc/def.html leitet auf www.testdomain.net/abc/def.html)

Soweit so gut. Das funktioniert alles ...

Nur will ich nun auch bestimmte Seiten mit https aufrufen lassen. Hierfür gibt es von meinem Web-Provider (Host Europe) einen SSL-Proxy - Seiten kann ich dann in diesem Format aufrufen:

https://ssl.webpack.de/testdomain.net/abc/def.html

Wenn ich dies bei dieser Seite nun tun würde leitet diese trotzdem auf www.testdomain.net/abc/def.html um.

Ich versuche nun, meine htaccess-Anweisungen so umzuändern, dass Aufrufe mit https ignoriert werden oder dass die Umleitungen nur gemacht werden wenn davor direkt http:// oder www. steht. Aber irgendwie bekomm ich das nicht wirklich hin :/

Kann mir jemand helfen oder kennt jemand eine noch einfachere Lösung? Wäre sehr dankbar!

lg

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 29.09.2011, 11:37
von osgee
Niemand eine Idee?

Verfasst: 29.09.2011, 12:18
von Melegrian
Mit RewriteCond %{THE_REQUEST} nehme ich mal an, bin mir aber nicht sicher:

https://httpsd.apache.org/docs/2.0/mod/ ... ewritecond

https://www.askapache.com/htaccess/http ... irect.html

Verfasst: 29.09.2011, 12:33
von osgee
danke! mal schauen .. so ganz blicke ich da noch nicht durch ..

Verfasst: 29.09.2011, 13:47
von Melegrian
Und der erste Teil, geht der nicht einfacher so?

Code: Alles auswählen

RewriteCond %{HTTP_HOST} !^www\.testdomain\.net$ 
RewriteRule ^(.*)$ http://www.testdomain.net/$1 [L,R=301]
Also alles außer www. testdomain. net zu www. testdomain. net weiterleiten?
Und dann vielleicht so ähnlich?

Code: Alles auswählen

# HTTPS darf nicht on sein

RewriteCond %{HTTPS} != on
RewriteCond %{HTTP_HOST} !^www\.testdomain\.net$ 
RewriteRule ^(.*)$ http://www.testdomain.net/$1 [L,R=301]

# HTTPS ist on

RewriteCond %{HTTPS} = on
RewriteCond %{HTTPS_HOST} !^ssl\.webpack\.de/testdomain\.net$ 
RewriteRule ^(.*)$ https://ssl.webpack.de/testdomain.net$1 [L,R=301]
Und wenn das nichts wird, so hilft Dir dieser Thread vielleicht weiter:

https://forum.modrewrite.de/topic1607.html

Verfasst: 29.09.2011, 14:44
von Melegrian
Hier ist noch ein Beispiel mit:

Code: Alles auswählen

RewriteCond %{HTTPS} off 
#und
RewriteCond %{HTTPS} on 
https://www.webmasterworld.com/apache/3507002.htm

Verfasst: 29.09.2011, 17:05
von osgee
Ja, mit dem ersten Teil hast du recht, ist so einfacher. Vielen Dank für den Tipp.

Das mit dem https bekomme ich aber nicht hin .. vor allem sobald ich RewriteCond %{HTTPS} = on oder RewriteCond %{HTTPS} != on in der htaccess drin habe, kommt eine Fehlermeldung "Skript konnte nicht ausgeführt werden" ..

Verfasst: 29.09.2011, 17:29
von osgee
Okay, funktioniert nun doch ... lag daran dass das on anscheinend direkt am = kleben muss, also =on und !=on

allerdings funktioniert die https weiterleitung immer noch nicht .. werde trotzdem dann auf www.testdomain.net/irgendwas weitergeleitet ...

btw.: wieso ist bei RewriteCond %{HTTPS_HOST} !^ssl\.webpack\.de/testdomain\.net$ das Ausrufzeichen drin? Wird das dadurch nicht negiert? Wie auch immer ... hat mit und auch ohne leider nicht geklappt .. :(

Verfasst: 29.09.2011, 18:16
von Melegrian
Du könntest jetzt höchstens noch einmal so ein Beispiel mit SERVER_PORT testen. Und wenn das auch nichts wird, ja dann weiß ich auch nicht weiter. Einige Experten sind hier schon im Forum anzutreffen, die gewiss eine bessere Antwort geben könnten, vielleicht antwortet ja noch einer.

Code: Alles auswählen

RewriteCond %{HTTPS_HOST} ^ ssl\.webpack\.de/testdomain\.net
RewriteCond %{SERVER_PORT} ^443 
RewriteRule ^(.*)$ https:// ssl.webpack.de/testdomain.net $1 [r=301,L] 
Ja, wird im anderen Beispiel durch ! negiert, damit ssl\.webpack\.de/testdomain\.net nicht auf ^ssl.webpack.de/testdomain.net weiterleitet und dadurch eine Endlosschleife (Endlosweiterleitung auf sich selbst) erzeugt.

Was ich noch gefunden habe, so sollten erst einmal alle Aufrufe auf https umgeleitet werden.

Code: Alles auswählen

RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [L]
https://www.oliver-thiele.de/wissensdat ... irect.html

Doch es ging ja um die Fallunterscheidung und nicht das alle Aufrufe umgeleitet werden.

Verfasst: 29.09.2011, 19:09
von chris21

Code: Alles auswählen

# HTTPS darf nicht on sein

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

# HTTPS ist on

RewriteCond %{SERVER_PORT} ^443$ 
RewriteCond %{HTTP_HOST} !^ssl\.webpack\.de$
RewriteRule ^(.*)$ https://ssl.webpack.de/testdomain.net/$1 [L,R=301] 

Verfasst: 30.09.2011, 16:10
von Melegrian
@osgee, berichtest Du noch, ob es mit dem Beispiel von chris21 perfekt funktioniert hat oder nicht? So eine kleine Rückkopplung macht doch erst ein Forum aus.