registrieren registriertes Mitglied


Anzeige

Anzeige

Weiterleitungskette notwendig?

Alles zu Domain-Umzug, Weiterleitungen und Robots diskutiert Ihr hier.
drax
PostRank 4
PostRank 4
Beiträge: 102
Registriert: 07.08.2013, 04:19

Beitrag drax » 22.10.2019, 06:47 Weiterleitungskette notwendig?

Hallo,

mir ist aufgefallen, dass bei meinen Webseiten teilweise lange Weiterleitungsketten entstehen.

Ich schlimmsten Fall:

http://www.webseite.de
301 auf https://www.webseite.de
301 auf http://webseite.de
301 auf https://webseite.de
dann endlich 200

Ansonsten:

http://www.webseite.de
301 auf https://www.webseite.de
301 auf https://webseite.de
dann Status 200

Ist da evtl. was falsch in der htaccess?

Lässt sich die Umleitung nicht direkt in nur einem einzigen Schritt einrichten, oder sind solche Weiterleitungsketten normal?

Bzw. ist sowas überhaupt ein Problem?

Zum überprüfen der Statuscodes habe ich httpstatus.io benutzt.

Anzeige von:

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

Jetzt anfragen: 0511 / 300325-0.


supervisior
PostRank 9
PostRank 9
Beiträge: 2543
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 22.10.2019, 09:28 Weiterleitungskette notwendig?

Also Deine Weiterleitungen sind sicherlich nicht ganz okay, wobei diese gänzlich zu eliminieren geht nicht, weil es immer darauf ankommt, wie man Deine Seite aufruft, sodass das nachfolgenden Szenario eigentlich normal ist. Stimmen tut aber trotzdem was nicht bei Dir.

Gehen wir mal davon aus, dass die endgültige URL Deiner Seite so lautet:

https://www.webseite.de

Vorausgesetzt es gibt einen entsprechede Redirect Rule in Deiner .htaccess, dann würde bei Eingabe von:

webseite.de (was dem Aufruf http://webseite.de entspricht)
zunächst entweder ein 301 auf https://www.webseite.de erfolgen
und dann ein weiterer 301 auf https://www.webseite.de

Was nach dem obigen Beispiel an welcher Stelle steht, hängt von der Reihenfolge ab, wie es in der .htacces definiert ist. Die 2-fache Umleitung könnte man noch auf 1 reduzieren, bedarf aber weiterer mod_rewrite Regeln.

In Deinem Fall stimmt da aber was nicht und da sind mind. 2 Weiterleitung zu viel drin, weil von https://www.webseite.de auf auf http://webseite.de und dann auf https://webseite.de geleitet wird. Um Dir da konkret helfen zu können, müsste man Deine .htaccess sehen

Mal als Beispiel wie Deine Weiterleitungen halbwegs korrekt aussehen sollte:

Code: Alles auswählen

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{SERVER_PORT} !^443$
  RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]  
  RewriteCond %{HTTP_HOST} !^www\.
  RewriteRule ^(.*)$ https://www.webseite.de/$1 [R=301,L]
</IfModule>
Die obigen Regeln könnte man aber noch weiter optimieren. Was Du aber zusätzlich machen solltest, wäre Deine URL bei https://hstspreload.org/ anmelden, sodass die Browser wissen, dass man Deine Seite immer nur mit https aufrufen soll.

drax
PostRank 4
PostRank 4
Beiträge: 102
Registriert: 07.08.2013, 04:19

Beitrag drax » 22.10.2019, 13:11 Weiterleitungskette notwendig?

Alles klar, vielen Dank für die Infos.

Also bei den 2fach Umleitungen sieht es so aus:

Code: Alles auswählen

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^webseite\.de$ [NC]
RewriteRule ^(.*)$ http://webseite\.de/$1 [R=301,L]

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Bei der 3fach Umleitungen steht es umgedreht drinn. Das scheint der Fehler zu sein:

Code: Alles auswählen

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^webseite\.de$ [NC]
RewriteRule ^(.*)$ http://webseite\.de/$1 [R=301,L]
Werde da nochmal nacharbeiten.

supervisior
PostRank 9
PostRank 9
Beiträge: 2543
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 22.10.2019, 14:48 Weiterleitungskette notwendig?

Schmeiß beides aus Deiner .htaccess raus und ersetze es mit meinem Schnipsel, dann bist Du auf sicheren Seite.

Hanzo2012
Community-Manager
Community-Manager
Beiträge: 2079
Registriert: 26.09.2011, 23:31

Beitrag Hanzo2012 » 22.10.2019, 16:26 Weiterleitungskette notwendig?

supervisior hat geschrieben:
22.10.2019, 09:28
Die 2-fache Umleitung könnte man noch auf 1 reduzieren, bedarf aber weiterer mod_rewrite Regeln.
Beides auf einmal zu tun geht sogar kürzer:

Code: Alles auswählen

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{SERVER_PORT}:%{HTTP_HOST} !^443:www\.
  RewriteRule (.*) https://www.webseite.de/$1 [R=301,L]  
</IfModule>
Oder mit %{HTTPS} (kann "on" oder "off" sein) statt %{SERVER_PORT}, was ich besser finde:

Code: Alles auswählen

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{HTTPS}:%{HTTP_HOST} !^on:www\.
  RewriteRule (.*) https://www.webseite.de/$1 [R=301,L]  
</IfModule>

drax
PostRank 4
PostRank 4
Beiträge: 102
Registriert: 07.08.2013, 04:19

Beitrag drax » 04.01.2020, 19:30 Weiterleitungskette notwendig?

Es ist zwar schon ein bisschen her, aber nun hatte ich endlich mal Zeit es richtig hinzubekommen.

Nutze nun folgenden Eintrag in der htaccess

Code: Alles auswählen

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.webseite\.de$ [NC]
RewriteRule ^(.*)$ https://webseite.de/$1 [L,R=301]

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
Damit werden sämtliche Anfragen
http://www.webseite.de
http://webseite.de
https://www.webseite.de
innerhalb eines einzigen Umleitungsschritts auf die korrekte Variante umgeleitet
https://webseite.de


Was mich gleich zur nächsten Frage bringt:

Wenn ich die Domain nun auf eine andere Domain umleiten möchte, wie und wo trage ich am besten die entsprechenden Weiterleitungen der einzelnen URLs in die htaccess ein? Vor der www und https Umleitung oder danach?
Ich würde folgende Einträge nehmen:

Code: Alles auswählen

RewriteEngine On
Redirect 301 /alter-pfad/ https://www.neuewebseite.de/neuer-pfad/
Und da man wohl von detaillierten zu globalen Regeln von oben nach unten gehen soll, würde ich die Einträge ganz nach oben in die htaccess schreiben, oder? Die www und https Umleitungen sind dann ja eigentlich eh obsolet...

staticweb
PostRank 9
PostRank 9
Beiträge: 2238
Registriert: 04.05.2016, 14:34

Beitrag staticweb » 04.01.2020, 21:12 Weiterleitungskette notwendig?

Musst nur Zeile 2 und 3 anpassen, wenn du die Domain wechselst.

Benutzeravatar
arnego2
PostRank 9
PostRank 9
Beiträge: 2144
Registriert: 23.02.2016, 13:55
Kontaktdaten:

Beitrag arnego2 » 04.01.2020, 21:35 Weiterleitungskette notwendig?

drax hat geschrieben:
04.01.2020, 19:30
Vor der www und https Umleitung oder danach?
Ich würde folgende Einträge nehmen:

Code: Alles auswählen

RewriteEngine On
Redirect 301 /alter-pfad/ https://www.neuewebseite.de/neuer-pfad/
Und da man wohl von detaillierten zu globalen Regeln von oben nach unten gehen soll, würde ich die Einträge ganz nach oben in die htaccess schreiben, oder? Die www und https Umleitungen sind dann ja eigentlich eh obsolet...
Wenn du dir nicht ganz sicher bist dann lieber die 302
Arnego2 <Webseiten Umbau ab 80 Euro>

supervisior
PostRank 9
PostRank 9
Beiträge: 2543
Registriert: 26.06.2006, 09:11

Beitrag supervisior » 05.01.2020, 10:36 Weiterleitungskette notwendig?

drax hat geschrieben:
04.01.2020, 19:30
Es ist zwar schon ein bisschen her, aber nun hatte ich endlich mal Zeit es richtig hinzubekommen.

Nutze nun folgenden Eintrag in der htaccess

Code: Alles auswählen

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.webseite\.de$ [NC]
RewriteRule ^(.*)$ https://webseite.de/$1 [L,R=301]

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

Funktionell zwar richtig, aber ich verstehe nicht, warum Du die Lösung von @Hanzo2012 nicht verwendest. Das macht das Gleiche nur viel effektiver und schneller. Vor allem bleibt Dir der zusätzliche HSTS Header beim non-SSL Aufruf erspart. Was an Deiner Interpretation falsch ist, merkst Du spätestens, wenn Du Deine Seite bei https://hstspreload.org/ anmeldest damit jeder Browser schon vor dem Aufruf weiß, dass Deine Seite nur per https:// erreichbar ist. Du schenkst also Zeit beim Aufruf Deiner Seite her.

drax
PostRank 4
PostRank 4
Beiträge: 102
Registriert: 07.08.2013, 04:19

Beitrag drax » 08.01.2020, 19:41 Weiterleitungskette notwendig?

supervisior hat geschrieben:
05.01.2020, 10:36
Funktionell zwar richtig, aber ich verstehe nicht, warum Du die Lösung von @Hanzo2012 nicht verwendest. Das macht das Gleiche nur viel effektiver und schneller. Vor allem bleibt Dir der zusätzliche HSTS Header beim non-SSL Aufruf erspart. Was an Deiner Interpretation falsch ist, merkst Du spätestens, wenn Du Deine Seite bei https://hstspreload.org/ anmeldest damit jeder Browser schon vor dem Aufruf weiß, dass Deine Seite nur per https:// erreichbar ist. Du schenkst also Zeit beim Aufruf Deiner Seite her.
Irgendwie klappt das mit der Lösung von @Hanzo2012 nicht. Da bekomme ich "Max redirects exceeded".
Werde mich mal bezüglich HSTS einlesen.

staticweb
PostRank 9
PostRank 9
Beiträge: 2238
Registriert: 04.05.2016, 14:34

Beitrag staticweb » 08.01.2020, 20:03 Weiterleitungskette notwendig?

> Irgendwie klappt das mit der Lösung von @Hanzo2012 nicht. Da bekomme ich "Max redirects exceeded".

Eine Endlosschleife? Dann hast du etwas falsch gemacht. Ich sehe dafür keine Indizien.

Allerdings kann es bei der kombinierten Lösung zu anderen Nebeneffekten kommen.

> Werde mich mal bezüglich HSTS einlesen.

Vorsicht! wenn das einmal eingerichtet ist gibt es keinen (zeitnahen) Weg zurück!

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag