Weiterleitungen per htaccess in welcher Reihenfolge?
oxo888oxo
- htaccess
0 Rolf B
Hallo
Ich habe in meiner .htaaccess-Datei an zwei Stellen Weiterleitungen eingerichtet.
Zu Beginn diese hier, um grundsätzlich auf https (ohne www) umzuleiten:
RewriteEngine On
RewriteCond %{SERVER_PORT} !=443 [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.org
RewriteRule ^(.*)$ https://example.org/$1 [R=301,L]
Und dann weiter unten habe noch noch einzelne Seiten umgeleitet:
Redirect 301 /produkte/beispiel-1.php https://example.org/produkte/beispiel-1-neu.php
Redirect 301 /produkte/beispiel-2.php https://example.org/produkte/beispiel-1-neu.php
Meine Frage ist, ob die Reihenfolge so richtig uns sinnvoll ist. Oder sollte der teil für https (ohne www) unten nach den Umleitungen der einzelnen Seiten kommen?
Mir geht es darum, möglichst zu vermeiden, dass ein bestimmter Aufruf zu oft um- bzw. weitergeleitet wird. Auch um es Google möglichst lieb zu machen.
Gruß Ingo
Hallo oxo888oxo,
ich bin nicht der Apache Experte, aber ich denke, dass deine erste Regel mit den beiden spezifischeren Regeln im Konflikt steht.
Wird nicht mit https aufgerufen, machst Du einen generellen Redirect nach https, und die beiden anderen Regeln greifen nicht (wegen des L Flags). D.h. der Abruf von /produkte/beispiel-1.php
via http wird nicht auf die neu-Variante umgeleitet. Nur bei einem https-Abruf erfolgt der Redirect auf die neu-Seiten.
Willst Du unbedingt, dass die Nutzer sehen, dass die beispiel-1 Seite von der beispiel-1-neu Seite bedient wird? Und ist der Redirect mit Hostname wichtig? Oder ist die neu-Seite in Wahrheit im gleichen Ordner wir die beispiel-1 Seite? In dem Fall würde ein Rewrite reichen, von dem der User gar nichts sieht.
Alternativ müsstest Du die spezifischen Redirects vor den generellen Redirect setzen, und zwar in einer http- und https-Version. Glaub ich jedenfalls.
Rolf