• Skip to primary navigation
  • Skip to main content

Lukas Pugstaller

  • Blog
  • Kontakt

SEO-freundliche Weiterleitung mit 301 Redirect

4. Dezember 2014 von Lukas Pugstaller 91 Kommentare

Für das Weiterleiten einer (alten) Seite auf eine neue empfiehlt Google und andere Suchmaschinen einen serverseitigen Redirect durch den HTTP-Status Code 301 (Moved Permanently).

Diese Art der Weiterleitung teilt den Suchmaschinen mit, dass die Seite permanent übersiedelt wurde und gibt auch die URL der neuen Seite an. Beim nächsten Crawl der Seite wird der Redirect gefunden und der Robot folgt diesem idealerweise und findet dadurch die neue URL der Web- oder Unterseite.

Aus SEO-Sicht ist nur die permanente Weiterleitung per 301 Redirect zu empfehlen, da diese auch den (meisten) Link Juice an die neue Domain oder Unterseite übergibt und diese im Idealfall dadurch die Rankings der alten Seite übernimmt.

Redirects sind sowohl per HTML, PHP, JavaScript als auch serverseitig möglich. 301 Redirects können zwar auch mittels PHP erstellt werden, für eine kürzere Ladezeit ist aber die Weiterleitung per .htaccess-Datei besser geeignet.

Ich gehe im folgenden nur auf Weiterleitungen per .htaccess-Datei (auf einem Webserver mit Apache) ein, da dies von den meisten Webservern unterstützt wird.

301 Redirect einer gesamten Domain

Hat sich die ganze Domain einer Webseite geändert, kann man die folgenden Zeilen in der .htaccess-Datei einfügen um wirklich Alles (Webseiten und alle Unterseiten) weiterzuleiten:

RewriteEngine on
RewriteRule (.*) http://neue-domain.tld/$1 [R=301,L]

301 Redirect einzelner (Unter)seiten

Hat sich die URL einer einzigen Unterseite geändert, kann man diese so weiterleiten:

RewriteEngine on
Redirect 301 /alte-seite.html http://domain.tld/neue-seite.html

Beachten Sie aber, dass die alte Unterseite per relativem und die neue per absolutem Pfad angegeben wird.

Das selbe Spiel können Sie auch für mehrere Redirects von Unterseiten machen. Geben Sie pro Zeile aber nur einen Redirect ein.

RewriteEngine on
Redirect 301 /alte-seite.html http://domain.tld/neue-seite.html
Redirect 301 /alte-seite2.html http://domain.tld/neue-seite2.html

301 Redirect der Startseite ohne Unterseiten

Auch wenn dieser Fall in der Praxis eher selten vorkommt, ist es dennoch gut zu wissen, wie man einen solchen Redirect richtig erstellt.

Eigentlich wäre die folgende Weiterleitung aus logischen Gründen in Ordnung, in der Praxis funktioniert diese aber nicht:

RewriteEngine on
Redirect 301 / http://neue-domain.tld/

Auch wenn Sie keine Datei namens index.html in Ihrem Hauptverzeichnis haben, funktioniert diese Art der Weiterleitung so:

RewriteEngine on
Redirect 301 /index.html http://neue-domain.tld/

301 Redirect von www auf nicht-www

Ich persönlich bevorzuge die nicht-www Version einer Webseite, da das www genau genommen eine Subdomain ist und ich die Webseite aber auf der Hauptdomain haben will. Was SEO betrifft ist es meiner Meinung nach vollkommen egal ob die Webseite mit oder ohne www erreichbar ist. Wichtig ist aber, dass die www auf die nicht-www Version der Webseite zeigt (oder eben umgekehrt).

Das erreichen Sie durch diese Zeilen in Ihrer .htaccess-Datei:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

301 Redirect von HTTP auf HTTPS

Bei der Nutzung von HTTPS ist es notwendig, dass jede Unterseite entweder per HTTP oder per HTTPS erreichbar ist um Duplicate Content zu vermeiden. Durch 301 Redirects (permanente Weiterleitungen) kann man das gewährleisten.

In den meisten Fällen will man alle (Unter)seiten via HTTPS aufrufen. Dafür sind neben einem gültigen SSL-Zertifikat die folgenden zwei Zeilen in der .htaccess-Datei notwendig.

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

Mehr Informationen zu den vielen serverseitigen Einstellungsmöglichkeiten finden Sie im .htaccess Copy & Paste Cheatsheet.

Weiterleitungen mit PHP

Neben der serverseitigen Weiterleitung via .htaccess-Datei ist es auch möglich einen Redirect mit PHP durchzuführen. Ich persönlich nutze diese Methode nur selten, da ein Redirect per .htaccess schneller geht und auch mehr Möglichkeiten bietet.

Code für Weiterleitung mit PHP:

Speichert man diesen Code-Snippet in einer PHP-Datei ab und ruft diese am Server ab, wird man automatisch auf die URL https://pugstaller.com/ weitergeleitet. Diese Weiterleitung ist ein Redirect mit dem HTTP-Status Code 302 (Found).

301 Redirect mit PHP

Da wir aus SEO-Sicht eine Weiterleitung per HTTP-Status Code 301 (Moved Permanently) wollen, müssen wir folgenden Code verwenden:

Dadurch bekommen wir den erwünschten 301 Redirect per PHP.

Weiterleitungen dieser Art sind praktisch, da man einzelne Weiterleitungen dadurch erstellen kann ohne die .htaccess-Datei zu vergrößern und den Webserver zu verlangsamen.
Der große Nachteil liegt jedoch daran, dass man jeweils nur einen Redirect machen kann und eine seitenweite Weiterleitung um einiges aufwändiger ist als per .htaccess-Datei.

Kategorie: Allgemein

Reader Interactions

Kommentare

  1. Alex S. meint

    10. Februar 2015 um 00:58

    Interessanter Beitrag, sehr kurz und und sehr Informativ

    Antworten
  2. Thomas meint

    26. März 2015 um 10:34

    Ist es auch möglich einmal die Index auf eine neue Url (testseite.com) und die unterseiten auf eine andere Url(seitentests.com) umzuleiten?

    Antworten
  3. Lukas Pugstaller meint

    26. März 2015 um 12:03

    Hallo Thomas,

    das ist möglich, aber man müsste jede Unterseite einzeln weiterleiten. Das würde dann in etwa so aussehen:

    RewriteEngine on
    Redirect 301 /index.html http://testseite.com
    Redirect 301 /unterseite1.html http://seitentests.com/unterseite1.html
    Redirect 301 /unterseite2.html http://seitentests.com/unterseite2.html
    
    Antworten
  4. Boomplace meint

    31. Mai 2015 um 11:19

    Interessant wäre noch zu erwähnen, dass eine 301 Umleitung im Falle einer Umstellung der Website auf https, zu einem Totalverlust aller positiven Werte führt. Einzig Alexa macht keinen Unterschied zwischen SSL und Non-SSL. Bei Majestic fängt man mit https praktisch wieder bei NULL an. Eine Umstellung auf SSL inklusive sofortiger 301 Umleitung auf https, reißt die Page ins Bodenlose. Deswegen rate ich jedem, die 301 Umleitung nicht sofort zu setzen. Besser ist es, dulicate Content für eine Übergangszeit zu riskieren und dann langsam neue Backlinks auf https aufzubauen. So nach 3 – 6 Monaten kann man dann die 301 von http auf https setzen.

    Antworten
    • Lukas Pugstaller meint

      31. Mai 2015 um 18:51

      Ich habe schon einige Webseiten von HTTP auf HTTPS weitergeleitet und konnte noch nie einen Verlust der Rankings beobachten. Selbst wenn man den „Umzug“ nicht in den Google Webmaster Tools vornimmt, bleiben die Positionen in den SERPs. Aus diesem Grund kann ich das Vorgehen mit dem Duplicate Content in der Übergangszeit nicht empfehlen.

      Antworten
  5. Andreas meint

    9. Juli 2015 um 22:39

    Klasse Beitrag! Der Kommentar „Auch wenn Sie keine Datei namens index.html in Ihrem Hauptverzeichnis haben, funktioniert diese Art der Weiterleitung“ hat mir gerade sehr geholfen! 🙂 Herzlichen Dank!

    Antworten
    • Tom meint

      2. November 2020 um 21:32

      Ja, mir auch. Habe es immer mit index.php probiert aber das hat nicht funktioniert. Nach der Info habe ich echt stundenlang gesucht. Vielen Dank!

      Antworten
  6. Thomas meint

    23. Juli 2015 um 17:12

    Ein sehr schöner Artikel, für den Start in den Tag!

    Antworten
  7. j.j. meint

    18. August 2015 um 00:06

    header("HTTP/1.1 301 Moved Permanently");
    header("Location: https://pugstaller.com/");
    exit;
    

    Das geht in PHP auch eleganter und ohne sich auf eine HTTP-Version festzulegen:

    header("Location: http://example.com/", true, 301);
    exit;
    
    Antworten
    • Lukas Pugstaller meint

      26. September 2015 um 10:05

      Vielen Dank für den Tipp! Ich habe deine Version im Artikel übernommen.

      Antworten
  8. Urs meint

    24. September 2015 um 12:36

    Wie müsste es denn heißen, wenn man alle Unterseiten zu einer neuen Domain auf die Startseite umleiten wollte und dabei nicht jede Unterseite auflisten möchte?

    Beispiel:
    http://www.altedomain.de
    http://www.altedomain.de/seite1.html
    http://www.altedomain.de/seite2.html -> http://www.neuedomain.de
    http://www.altedomain.de/seite3.html
    http://www.altedomain.de/seite4.html

    Antworten
    • Lukas Pugstaller meint

      26. September 2015 um 10:22

      Wenn man die Startseite und alle Unterseiten auf die Startseite einer neuen Domain weiterleiten möchte, muss man folgende Zeilen in die .htaccess schreiben:

      RewriteEngine on
      RewriteRule (.*) http://www.neuedomain.de/ [R=301,L]
      
      Antworten
  9. Ges Segal meint

    6. Oktober 2015 um 15:32

    Toller Beitrag! Auch ich habe nochmals eine Verständnisfrage (wegen Ranking/SEO).

    -www.meineseite.de hat als Unterseite http://www.meineseite.de/uberuns.html
    -nun möchte ich, dass diese „uberuns“-Unterseite so heißt: http://www.meineseite.de/philosophie.

    In meinem Programm benenne ich die Unterseite um und lade sie auf den Server hoch.

    1. Muss ich dazu ebenfalls den 301 redirect Code benutzen, oder reicht es, auf den Server die neue „philosophie“ Unterseite zu laden und die alte „uberuns“ Unterseite vom Server zu löschen, da sie über die Hauptseite http://www.meineseite.de sowieso nicht mehr existiert/auffindbar ist und dann die aktuelle sitemap hochzuladen?

    2. Oder brauche ich auch da den 301 direct code, und dann befinden sich auf dem Server beide Unterseiten, sowohl „www.meineseite.de/uberuns.html“ als auch „www.meineseite.de/philosophie.html“ und ich darf die alte „uberuns“ nicht mehr löschen?

    Vielen Dank.

    LG

    Antworten
    • Lukas Pugstaller meint

      6. Oktober 2015 um 18:31

      Vielen Dank!

      Sie sollten zuerst die neue Unterseite hochladen, dann die folgenden Zeilen in der .htaccess einfügen:

      RewriteEngine on
      Redirect 301 /uberuns.html http://www.meineseite.de/philosophie.html

      Danach können Sie die alte Unterseite (http://www.meineseite.de/uberuns.html) löschen und eine neue Sitemap hochladen.

      LG

      Antworten
  10. Sabine meint

    29. November 2015 um 13:33

    ich finde das alles schon sehr gut erklärt, habe aber dennoch ein Verständnisproblem, man möge es mir verzeihen 🙂
    Meine derzeitige webseite ist auf einem shopsystem gehostet, ich habe eine neue mit opencart erstellt. Die neue Seite wird die gleiche domain wie die derzeitige haben.
    Die Struktur ist fast gleich, jedoch haben derzeit auf dem bezahlten shopsystem die meisten Seiten ein Kürzel, das vom System angehängt wird, z.B. -12-35-asp oder sowas
    Bei meinem opencart system ist das nicht der Fall.
    Muss ich nun wirklich jeden einzelnen Link der alten Seite einzeln eingeben (310 Redirect einzelner (Unter)Seiten ) oder gibt es einen einfacheren Weg?
    Vielleicht habe ich eine Denkblockade, weil , der Domainname bleibt ja gleich, aber es ist ein komplett neues CMS was dahinter liegt.

    Herzliche Grüße
    Sabine

    Antworten
    • Lukas Pugstaller meint

      1. Dezember 2015 um 11:02

      Ich befürchte du musst jede Unterseite einzeln weiterleiten. Dazu würde ich aber eine der Redirect Extensions für OpenCart verwenden, da du so die Weiterleitungen besser verwalten kannst.

      Antworten
  11. Tina meint

    9. Januar 2016 um 16:23

    Ich habe vor Jahren einige Unterseiten per .htaccess weitergeleitet. Jetzt bin ich dabei die kompletten Webseite auf responsiv zu stellen und dabei werden auch einige dieser Unterseiten namentlich verändert. Wie verhält sich jetzt die Weiterleitung?
    Bleibt die alte Version in der Datei und ich schreibe die neue hinzu?
    Oder, kann die alte Weiterleitung jetzt nach Jahren entfernt werden?
    Vielen Dank!

    Antworten
    • Lukas Pugstaller meint

      10. Januar 2016 um 22:30

      Hallo Tina,

      falls Backlinks auf die weitergeleiteten Unterseiten zeigen, würde ich diese Weiterleitungen solange wie möglich bestehen lassen bzw. diese aktualisieren sobald die neue Website online gestellt wird.
      Dabei musst du nur das Ziel der derzeitigen Weiterleitungen an die Unterseiten der neuen Website anpassen und die aktuellen Unterseiten ebenfalls auf die neuen umleiten.

      Da deine Weiterleitungen aber schon seit Jahren existieren, kannst du diese laut John Mueller von Google ruhig entfernen (ich würde das aber nicht machen).
      Quelle: https://www.seroundtable.com/google-one-year-301-redirect-20893.html

      Antworten
  12. Wolfgang Winkelbauer meint

    3. Februar 2016 um 16:48

    Hallo Lukas, tolle Seite, aber trotzdem stehe ich an und vielleicht hast du einen Tipp für mich.

    Ich habe eine Seite mit SSL ausgestattet und muss natürlich auf https weiterleiten. Gleichzeitig leite ich alles auf www um.
    https funkt mit

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

    aber die Weiterleitung http -> http://www nicht mehr seit SSL. Ich bin eher im PHP zu Hause, habe verschiedene – auch deine – Tipps ausprobiert, aber der Server leitet nicht auf www weiter.
    Hast du noch eine Idee?
    lg, Wolfgang

    Antworten
    • Lukas Pugstaller meint

      8. Februar 2016 um 11:24

      Hallo Wolfgang,

      füge die folgenden zwei Zeilen in deiner .htaccess Datei ein:

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

      Damit sollte die Weiterleitung auf die Subdomain www wieder funktionieren.
      Eventuell kannst du dadurch sogar auf die von dir verwendeten Weiterleitungen verzichten. Bevor du die Änderungen übernimmst, teste diese aber sowohl am Desktop als auch am Handy, da manche Browser unter Android und iOS weniger Weiterleitungen als gewöhnliche Desktop-Browser zulassen.

      Antworten
  13. Siggi meint

    27. Februar 2016 um 23:30

    Hallo Lukas,

    du schreibst je mehr Einträge bzw. 301-Umleitungen in der .htaccess-Datei desto negativer wirkt sich das auf die Schnelligkeit des Webservers. Heißt das, dass sich das auf alle Domains/Webseiten, die sich auf dem Server befinden, auswirkt? Oder nur auf die Domain, zu der die .htaccess-Datei gehört? Ich möchte nämlich demnächst ein Projekt starten, wo ich ca. 100-150 301-Umeitungen in der .htaccess anlegen muss. Daher überlege ich mir die Umleitungen auf eine extra-Domain zu verlegen, um die Ladezeiten der Projekt-Webseite nicht zu vergrößern. Was denkst du dazu? Danke Dir im Voraus!

    Grüße
    Siggi

    Antworten
    • Lukas Pugstaller meint

      10. März 2016 um 16:40

      Hallo Siggi,

      das kommt auf den Webserver an. Ich habe schon .htaccess-Dateien mit mehr als 300 Weiterleitungen gesehen und die Webseite hat trotzdem sehr schnell geladen.
      Ist der Webserver aber langsam oder eventuell falsch konfiguriert, kann eine große .htaccess-Datei die Ladezeit der gesamten Webseite negativ beeinflussen.

      Wenn du für dein neues Projekt ein CMS verwendest, würde ich nach einer Erweiterung zum Verwalten der Weiterleitungen suchen. Für WordPress gibt es dafür z.B. das Plugin Redirection.

      Antworten
  14. Tim meint

    16. April 2016 um 15:23

    Hallo Lukas,
    ich habe versucht es selbst hinzubekommen aber ich stehe echt auf dem Schlauch.
    Ich versuche eine Unterseite der domain auf eine andere Unterseite der selben Domain pauschal umzuleiten, jedoch ohne den genauen link beizubehalten. Zum veranschaulichen was ich meine:
    Nehmen wir an es gibt eine Seite:
    https://www.domain.com/wpshop/hvheu/fjfiei/hfh
    https://www.domain.com/wpshop/qwgihreqheu/fjfietbpifh
    https://www.domain.com/wpshop/hbihpqei/fjfiei/urezh
    …
    und so weiter..
    nun würde ich gerne mit der .htaccess realisieren, dass ausnahmlos alle aufrufe die mit https://www.domain.com/wpshop/ beginnen, inklusive https://www.domain.com/wpshop/ selbst auf https://www.domain.com/neueseite/ umgeleitet werden.
    Das heißt, https://www.domain.com/wpshop/hvheu/fjfiei/hfh soll NICHT zu https://www.domain.com/neueseite/hvheu/fjfiei/hfh werden, sondern nur https://www.domain.com/neueseite/.
    Vielen Dank im Vorraus!

    Antworten
    • Lukas Pugstaller meint

      21. April 2016 um 07:24

      Hallo Tim,

      dazu musst du nur die beiden Zeilen in deiner .htaccess-Datei einfügen:

      RewriteEngine On
      RewriteRule ^wpshop/(.*)$ /neueseite/ [R=301,L]

      Beste Grüße
      Lukas

      Antworten
  15. Fleming meint

    11. Mai 2016 um 12:13

    Moin Lukas,

    vielen Dank für einen endlich mal kurzen und präzisen Artikel. Ich hab von sowas grundsätzlich keinen Schimmer und wollte nur mal nachfragen, ob ich das jetzt richtig verstanden habe.

    Wir haben unsere Shop-URL-Parameter umgestellt und jetzt für jedes Produkte duplicate content.

    Also z.B. http://www.meineseite.de/detail/100/produktA – wurde zu http://www.meineseite.de/detail/100/produktA_kaufen

    Kann das jetzt einfach per 301 gesammelt weitergeleitet werden oder muss das einzeln auf jeder Unterseite passieren? Also eine Liste mit Alt zu Neu ist schnell erstellt, die Frage ist nur ob das gesammelt irgendwo umgesetzt werden kann?

    Antworten
    • Lukas Pugstaller meint

      12. Mai 2016 um 13:47

      Hallo,

      soweit ich weiß musst du in diesem Fall jede Weiterleitung einzeln vornehmen. Für die meisten Shopsysteme gibt es aber eine Funktion bzw. eine Erweiterung um die Weiterleitungen zu verwalten.

      Antworten
  16. Carsten meint

    20. September 2016 um 16:48

    Hallo,
    super informativer Artikel, danke.

    Ich stehe auch vor dem Problem eine alte Webseite auf eine neue zu wechseln, aber dabei hast du mir oben schon geholfen.

    Jetzt ist es ja aus SEO Gesichtspunkten sinnvoll eine Shop Seite die ich der Webseite hinzufügen will, aber komplett andere Adresse hat (123123.hoster.de), auf http://www.neuedomain.de/shop zu setzen.

    Wie und wo muss ich eine solche Weiterleitung setzen? Ein reiner Link leitet ja nur auf die „hässliche“ URL weiter.
    Ich würde es gerne als „Sub-Domain“ maskierend einbinden um im Bereich SEO zu profitieren.

    ps. vlt stehe ich auch einfach auf dem Schlauch aktuell 🙂

    Antworten
    • Lukas Pugstaller meint

      23. September 2016 um 13:44

      Hallo Carsten,

      leider verstehe ich dein Vorhaben nicht so ganz. Falls dein Shop im Moment über eine anderen Domain verfügbar ist, würde ich den Shop in das Unterverzeichnis der neuen Domain (z.B. http://www.neuedomain.de/shop/) übersiedeln und von der alten Domain einen Redirect auf die neue Domain setzen.

      Dazu musst du nach der Übersiedlung des Shops folgende Zeilen in die htaccess-Datei des alten Shops einfügen:

      RewriteEngine on
      RewriteRule (.*) http://www.neuedomain.de/shop/$1 [R=301,L]

      LG Lukas

      Antworten
  17. gerd meint

    27. September 2016 um 23:37

    Was mache ich am besten, wenn mein ganzes Projekt quasi neue Urls für die Unterseiten bekommen hat. Die Domain ist gleich geblieben aber eigentlich alle Unterseiten haben jetzt neue Urls.

    Muss ich wirklich für jede einzelne Unterseite eine…..???

    RewriteEngine on
    Redirect 301 /alte-seite.html http://domain.tld/neue-seite.html

    Antworten
    • Lukas Pugstaller meint

      30. September 2016 um 09:20

      Hallo Gerd,

      in diesem Fall musst du leider wirklich jede Unterseite einzeln weiterleiten.

      LG Lukas

      Antworten
  18. Christian meint

    1. Juni 2017 um 09:56

    Hallo,
    super beitrag.. ich suche nach folgender Lösung:

    eine Domain (www.exampleA.com) inkl. aller Unterseiten (www.exampleA.com/1.html, http://www.exampleA.com/2.html, http://www.exampleA.com/3.html, bis http://www.exampleA.com/XYZ.html)
    auf die Startseite einer neuen Domain (www.exampleB.com) weiterzuleiten?

    sprich – ich möchte das die Domain und alle alten Links auf eine neue Startseite umgeleitet werden

    Kannst du mir hier helfen?

    Antworten
    • Lukas Pugstaller meint

      2. Juni 2017 um 14:33

      Hallo Christian,

      dazu musst du folgende Zeilen in die .htaccess-Datei auf http://www.exampleA.com einfügen:

      RewriteEngine on
      RewriteRule (.*) http://www.exampleB.com/ [R=301,L]
      
      Antworten
      • Christian meint

        4. Juni 2017 um 17:39

        perfekt!! Vielen Dank!

        Antworten
  19. Petra meint

    13. Juni 2017 um 16:53

    Hallo Lukas,

    super Seite und ganz toller Beitrag. Vieles habe ich schon verstanden. Ich habe nun meine erste Webseite und leider durch unrichtiges Verlinken einige URLS im webmaster tools als nicht gefunden gelistet:

    /2015/beitrag/katzenfutter-kaufen.html RICHTIG: /katzenfutter-kaufen.html

    oder

    /katzenpflege.htm RICHTIG: /katzenpflege.html („l“ vergessen)

    Das ganze spielt sich aber auf der selben Domain ab. Habe ich es richtig verstanden, dass man die 301 Redirec Weiterlietung per .htaccess-Datei auch fuer ein und die selbe Webseite nutzen kann oder nur wenn man die Domain wechselt? Lieben Dank Petra

    Antworten
    • Lukas Pugstaller meint

      13. Juni 2017 um 17:14

      Hallo Petra,

      es freut mich, dass dir der Artikel geholfen hat. Du kannst die Weiterleitung auch innerhalb deiner Website erstellen. In deinem Fall sieht das dann so aus:

      RewriteEngine on
      Redirect 301 /2015/beitrag/katzenfutter-kaufen.html http://domain.tld/katzenfutter-kaufen.html
      Redirect 301 /katzenpflege.htm http://domain.tld/katzenpflege.html
      

      Falls du RewriteEngine on bereits in deiner .htaccess-Datei aufrufst, brauchst du das kein zweites Mal einfügen.

      LG Lukas

      Antworten
      • Petra meint

        13. Juni 2017 um 17:51

        Lieben Dank Lukas!

        Petra

        Antworten
  20. René meint

    22. Juni 2017 um 21:44

    Hallo Lukas,
    alles ganz prima erklärt. Ich habe aber folgendes Problem:

    alt: /artikel_3456.html
    neu: /neuerartikel_3456/

    Das sind natürlich eine Menge Seiten und idie 3456 ist natürlich stellvertretend die id.
    Hast Du eine Lösung?

    Antworten
    • Lukas Pugstaller meint

      23. Juni 2017 um 11:52

      Hallo René,

      das sollte mit RegEx möglich sein. Ich bin auf diesem Gebiet aber leider nicht sehr versiert. Falls mir dennoch eine Lösung einfällt, gebe ich dir Bescheid.

      LG Lukas

      Antworten
      • René meint

        23. Juni 2017 um 14:30

        Hallo Lukas,
        Danke Dir. Ich bin da auch nicht wirklich wahnsinnig fit, habe aber eine Lösung gefunden…Trial and Error 🙂
        Falls es jemand interessiert:
        RewriteRule beitrag_([0-9]{1,6}).html$ /beitrag_$1/ [R=301,L]
        macht aus:
        beitrag_123.html
        /beitrag_123/

        Antworten
        • Lukas Pugstaller meint

          24. Juni 2017 um 12:16

          Hallo René,

          Danke für deinen Beitrag! Ich werde den Artikel demnächst aktualisieren und dabei deine Lösung einfügen.

          LG Lukas

          Antworten
  21. Bully meint

    4. Juli 2017 um 10:26

    Hallo zusammen!

    Ich möchte alle Seiten die die Endung .php besitzen nach „ohne“ umleiten, somit die Endung .php entfernen.
    Also http://www.dosenkohl.de/irgendwas.php
    nach http://www.dosenkohl.de/irgendwas

    Ich würde diesen Befehl gerne einbinden, weiss aber nicht wie ich diesen in der aktuellen htacces integrieren soll:

    RewriteRule ^(.+)\.php $1/ [R=301,L]

    Die aktuell htaccess sieht so aus:

    # — concrete5 urls start —

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME}/index.html !-f
    RewriteCond %{REQUEST_FILENAME}/index.php !-f
    RewriteRule . index.php [L]

    # — concrete5 urls end —

    # — gzip compression —

    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript

    ExpiresActive On
    ExpiresDefault „access plus 30 days“
    FileETag none

    # — umleitungen diverse 301 umleitungen —
    Redirect 301 /verzeichnis/name/irgendwas/index.php http://www.dosenkohl.de/verzeichnis/name/irgendwas

    Antworten
    • Lukas Pugstaller meint

      4. Juli 2017 um 11:04

      Hallo Bully,

      mit folgenden Zeilen kannst du die Endung .php entfernen:

      
      	RewriteEngine On
      	RewriteCond %{REQUEST_FILENAME} !-f
      	RewriteRule ^([^\.]+)$ $1.php [NC,L]
      
      

      Wenn du das nach # — concrete5 urls end — sollte es eigentlich funktionieren. Falls nicht, würde ich es vor # — concrete5 urls start — einfügen.

      Mit diesen Zeilen kannst du zudem die Startseite http://www.dosenkohl.de/index.html bzw. http://www.dosenkohl.de/index.php auf http://www.dosenkohl.de/ weiterleiten:

      
      	RewriteEngine On
      	RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html?|php)\ HTTP/ [NC]
      	RewriteRule ^index\.(html?|php)$ http://www.dosenkohl.de/ [R=301,L]
      
      

      LG Lukas

      Antworten
  22. Bully meint

    6. Juli 2017 um 07:54

    Hallo Lukas,

    DANKE für die schnelle Info! Jetzt habe ich noch etwas vergessen bzw. ggfs. eine Verständnisfrage.

    Im bisherigen Projekt (bzw. im Google index) befinden sich noch zahlreiche Seiten die die Endung index.php besitzen. Diese möchte ich auf non index.php umleiten. Geht das mit einem Befehl oder muss jede einzelne Seite umgeleitet werden?

    Beispiel:
    http://www.dosenkohl.de/index.php nach http://www.dosenkohl.de
    http://www.dosenkohl.de/irgendwas/index.php nach http://www.dosenkohl.de/irgendwas/

    Wie würde das aussehen?

    Antworten
    • Lukas Pugstaller meint

      9. Juli 2017 um 22:37

      Hallo Bully,

      mit RegEx ist das ziemlich sicher möglich. Ich kann dir dazu aber noch keine Anleitung geben, da ich mich damit noch nicht sonderlich gut auskenne.

      LG Lukas

      Antworten
  23. Bully meint

    6. Juli 2017 um 08:12

    Ergänzung:

    Leider funktioniert die Anweisung die .php zu entfernen bzw. umzuleiten nicht.

    RewriteEngine On
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html?|php)\ HTTP/ [NC]
    RewriteRule ^index\.(html?|php)$ http://www.dosenkohl.de/ [R=301,L]

    Antworten
    • Lukas Pugstaller meint

      9. Juli 2017 um 22:41

      Hallo Bully,

      das ist der Code um http://www.dosenkohl.de/index.html und http://www.dosenkohl.de/index.php auf http://www.dosenkohl.de/ umzuleiten. Zum Entfernen der Dateiendung .php musst du diese Zeilen in die htaccess-Datei einfügen:

      
      	RewriteEngine On
      	RewriteCond %{REQUEST_FILENAME} !-f
      	RewriteRule ^([^\.]+)$ $1.php [NC,L]
      
      

      Den Befehl RewriteEngine On solltest du aber nur einmal in der htaccess-Datei aufrufen.

      LG Lukas

      Antworten
  24. Karsten meint

    20. Juli 2017 um 10:37

    Hallo Lukas!

    Toller Beitrag der seit zwei Jahren schon vielen Leuten geholfen hat.

    Vielleicht kannst du mir auch helfen und die Frage beantworten ob man die verschiedenen Befehle auch kombinieren kann.
    Dh. erst ein Teil der alten Seiten auf die neuen Seiten umleiten und dann den Rest der Seiten auf die Startseite der neuen Domain. Quasi so:

    RewriteEngine on
    Redirect 301 /alte-seite.html http://neue-domain.tld/neue-seite.html
    Redirect 301 /alte-seite2.html http://neue-domain.tld/neue-seite2.html
    RewriteRule (.*) http://neue-domain.tld/$1 [R=301,L]

    Vielen Dank und liebe Grüße
    Karsten

    Antworten
    • Lukas Pugstaller meint

      23. Juli 2017 um 19:38

      Hallo Karsten!

      Ja, die .htaccess-Datei wird immer der Reihe nach abgearbeitet weshalb du vorher einzelne Unterseiten weiterleiten kannst, bevor du den Rest weiterleitest.

      LG Lukas

      Antworten
  25. Victor meint

    5. August 2017 um 12:47

    Danke genau das habe ich gesucht

    Antworten
  26. Thomas meint

    3. September 2017 um 17:14

    Hallo,

    ich stelle demnächst meine Website von http:// auf https:// um. Dabei würde mich interessieren wie ich bei der Weiterleitung von Unterseiten in der .htacces Datei am besten vorgehen soll um Rankingverluste zu vermeiden?

    Macht es SEO-technisch einen Sinn alle Unterseiten der alten Domain manuell auf das jeweilige Pendant auf der neuen https:// Version weiterzuleiten (also z.B.: Redirect 301 http://www.domain.tld/alte-seite.html https://www.domain.tld/neue-seite.html)

    oder reicht es aus wenn man alle Seiten folgendermaßen über deine Zeilen weiter oben weiterleitet?

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

    Macht die manuelle Weiterleitung einzelner Unterseiten auf die neue Unterseite einen Sinn um Rankingverluste in den SERPs zu minimieren oder reicht eine allgemeine Weiterleitung?

    Vielen Dank für die Info!

    Antworten
    • Lukas Pugstaller meint

      11. September 2017 um 13:58

      Hallo Thomas,

      wenn die URLs ansonsten gleich bleiben, ist es nicht notwendig sämtliche Unterseiten einzeln weiterzuleiten. Wichtig ist aber, dass alle Versionen der Website (mit und ohne www sowie mit http als auch mit https) auf die von dir bevorzugte Version weiterleiten um Duplicate Content zu vermeiden.

      LG Lukas

      Antworten
  27. Thomas Schmitz meint

    6. September 2017 um 18:00

    Tolle Erklärungen und Beispiele und das Lukas seit 2 Jahren immer wieder Fragen beantwortet finde ich Klasse +1.

    Vielleicht kannst du Lukas oder sonst einer von euch helfen.

    die Domain wurde auf https:// umgestellt.
    So weit alles gut, das Problem ist, es gibt einen alten Backlink der nicht mehr geändert werden kann.

    Dieser zeigt auf
    http://www.example.com/wichtige-news
    wenn dieser link aufgerufen wird landen sofort alle auf der Hauptseite http://www.example.com, was in diesem Fall nicht beabsichtigt ist, viel mehr sollten die auf https://www.example.com/wichtige-news landen.

    Die .htaccsess sieht wie folgt aus.
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

    gibt es den die Möglichkeit das incoming URI nicht auf die Startseite sondern auf den selben Link nur in der https:// weitergeleitet werden.

    Besten Dank für die evtl. Hilfe.

    Antworten
    • Lukas Pugstaller meint

      11. September 2017 um 14:05

      Hallo Thomas,

      ich kann keinen Fehler in deiner .htaccess-Datei erkennen. Rufst du in deiner .htaccess RewriteEngine On vor den beiden Zeilen auf?

      Hast du es schon versucht die Unterseite einzeln weiterzuleiten?

      Das kannst du durch diese Zeilen testen:

      RewriteEngine on
      Redirect 301 /wichtige-news https://www.example.com/wichtige-news

      LG Lukas

      Antworten
  28. Claudia meint

    12. Oktober 2017 um 09:03

    Hallo!

    Danke für die Erklärung. Ich hätte eine Frage dazu:

    Ich möchte von meiner alten Domain auf eine neue Domain umsteigen.
    Bsp.:
    alteseite.at (alte Domain) -> hier richte ich eine Weiterleitung auf die neue Domain direkt beim Serveranbieter ein
    neueseite.at (neue Domain)

    Kann ich auch einzelne Seiten der alten Domain auf die neue umleiten? Bsp.:
    alteseite.at/kategorie -> redirect auf
    neueseite.at/shop

    Ist das möglich und wenn ja wie?

    LG und Danke
    Claudia

    Antworten
    • Lukas Pugstaller meint

      13. Oktober 2017 um 10:30

      Hallo Claudia,

      wenn bei sämtlichen Unterseiten die URL gleich geblieben ist, kannst du diese durch die folgenden Zeilen weiterleiten:

      RewriteEngine on
      RewriteRule (.*) http://neueseite.at/$1 [R=301,L]

      Einzelne Seiten kannst wie folgt weiterleiten:

      RewriteEngine on
      Redirect 301 /kategorie http://neueseite.at/shop

      Falls ein Großteil der Unterseiten die selbe URL haben und nur wenige sich geändert haben, kannst du die Ausnahmen zuerst in die .htaccess einfügen und dann die allgemeine Weiterleitung der restlichen Unterseiten festlegen.

      LG Lukas

      Antworten
  29. Anna meint

    6. Januar 2018 um 19:12

    Vielen Dank für die super Infos. Angegeben ist:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^name.org [NC] 
    RewriteRule ^(.*)$ http://www.name.org/$1 [L,R=301]

    Leider funktioniert folgendes Redirect bei mir nicht:

    redirect 301 /index.htm   http://www.name.org/

    Es kommt bei direkter Eingabe der Adresse http://name.org/index.htm in den Browser (Chrome) die Meldung, es gäbe zu viele Weiterleitungen.
    Haben Sie einen Rat, was ich tun sollte?
    Danke! Anna

    Antworten
    • Lukas Pugstaller meint

      8. Januar 2018 um 10:57

      Hallo Anna,

      die von dir verwendete Weiterleitung redirect 301 /index.htm http://www.name.org/ sorgt für eine Endlosschleife weshalb der Browser diese Meldung ausgibt.

      Kopiere die folgenden Zeilen in die .htaccess um /index.htm, /index.html und /index.php auf http://www.name.org/ weiterzuleiten:

      
      	RewriteEngine On
      	RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(html?|php)\ HTTP/ [NC]
      	RewriteRule ^index\.(html?|php)$ http://www.name.org/ [R=301,L]
      

      LG Lukas

      Antworten
      • Anna meint

        8. Januar 2018 um 20:52

        1000000000000000 Dank!
        Das Lob steht auf G+: https://plus.google.com/u/0/+AnnaBlume1/posts/hdLuF1MVMKK

        Antworten
        • Lukas Pugstaller meint

          9. Januar 2018 um 13:58

          Vielen Dank!

          LG Lukas

          Antworten
  30. Dani meint

    18. Januar 2018 um 16:58

    Hallo Lukas,
    eine Frage zu folgender Situation: es gibt zwei Domains, die beide auf den selben Ordner auf dem Server zugreifen. Eine der beiden Domains wurde beim Anbieter gelöscht. Blöderweise die Domain, die bei Google indexiert ist. Jetzt wollte ich eine 301 Weiterleitung in der .htaccess-Datei einrichten, damit bei Aufruf der indexierten, gelöschten Domain auf die andere, weiterhin bestehende Domain umgeleitet wird. Dafür habe ich folgendes in die .htaccess eingetragen:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} (.*)
    RewriteRule ^(.*)$ http://weiterhin-bestehende-domain.de/$1 [L,R=301]

    Jetzt bekomme ich die Browser-Meldung, dass zuviele Umleitungen vorhanden sind. Hast Du einen Tipp für mich? Danke schonmal!

    Antworten
    • Lukas Pugstaller meint

      22. Januar 2018 um 16:08

      Hallo Dani,

      für die Weiterleitung musst du die gelöschte Domain erneut auf deinem Server anlegen. Verwende dazu aber einen anderen Ordner und füge dort folgendes in die htaccess-Datei ein:

      RewriteEngine on
      RewriteRule (.*) http://weiterhin-bestehende-domain.de/$1 [R=301,L]

      LG Lukas

      Antworten
      • Dani meint

        23. Januar 2018 um 20:56

        Danke! Hab ich mir schon fast gedacht. Domain ist wieder aktiviert, anderen Ordner zugeordnet, htaccess Datei rein – funktioniert jetzt, danke!

        Antworten
  31. Abud meint

    28. Januar 2018 um 20:25

    Hallo Lukas, vielen Dank für den tollen Beitrag!
    Eine Frage hätte ich dennoch: Ich möchte, dass einige alte unterseiten auf die neuen unterseiten weitergleitet werden UND dass alle restlichen Unterseiten auf die Startseite weitergeleitet werden.
    Wie müsste die htaccess dafür aussehen? :/ Ich wäre dir sehr dankbar!
    LG Abud

    Antworten
    • Lukas Pugstaller meint

      31. Januar 2018 um 23:25

      Hallo Abud,

      da die .htaccess der Reihe nach abgearbeitet wird, solltest du vorher die einzelnen Unterseiten weiterleiten und dann erst die restlichen.

      Das könnte z.B. so aussehen:

      
      	RewriteEngine On
      	Redirect 301 /unterseite1.html http://neue-domain.tld/neue-unterseite1.html
      	Redirect 301 /unterseite2.html http://neue-domain.tld/neue-unterseite2.html
      	Redirect 301 /unterseite3.html http://neue-domain.tld/neue-unterseite3.html
      	RewriteRule (.*) http://neue-domain.tld/$1 [R=301,L]
      

      LG Lukas

      Antworten
      • Abud meint

        1. Februar 2018 um 20:04

        Herzlichen Dank Lukas!!

        Antworten
  32. Daniel meint

    2. März 2018 um 12:05

    Hallo Lukas,

    unsere Shop-Agentur meinte, dass PHP-Dateien performanter sind als .htaccess Dateien und die Ladezeit besser ist.
    In deinem Artikel steht es umgekehrt 😀 Kannst du mir das erklären?

    Liebe Grüße
    Dani

    Antworten
    • Lukas Pugstaller meint

      2. März 2018 um 12:36

      Hallo Daniel,

      die .htaccess-Datei ist die Datei, die Server-Konfigurationen für den Apache Webserver beinhaltet. Sie wird daher direkt vom Apache Server ausgeführt, was die Weiterleitungen sehr schnell macht. Wenn Redirects via PHP eingerichtet werden, muss zuerst der PHP-Interpreter am Server ausgeführt werden, was die Ladezeit ein bisschen verlangsamt.

      Es kommt aber darauf an, wie die PHP-Weiterleitungen umgesetzt werden. Wird für die Weiterleitungen auf eine Datenbank zugegriffen, kann das die Ladezeit erhöhen. Wird hingegen nur ein einfacher Redirect in einer PHP-Datei gesetzt (ohne Aufruf einer Datenbank), wird es wahrscheinlich kaum einen Unterschied zwischen .htaccess und PHP geben.

      Da es für die meisten Shop-Systeme Erweiterungen bzw. Funktionen für Weiterleitungen gibt, kann man diese dort meist sehr komfortabel und übersichtlich verwalten. Das betrifft vor allem Websites mit Unmengen an Redirects.

      Falls du die Möglichkeit hast, würde ich beide Varianten testen.

      LG Lukas

      Antworten
  33. Georg meint

    4. April 2018 um 07:50

    Hallo Lukas,

    ich habe eine Webseite mit einigen Unterseiten und mehrerer Domains die ich dann auf diese Seite gelenkt habe. Bei Google sind jetzt dann ein paar Unterseiten mit Domain 1, ein paar Seiten mit Domain 2 usw. und ein paar Seiten auch Doppelt indexiert worden. Habe mich leider aus Unwissenheit zu spät mit dem Thema Doppelindexierung befasst.

    Jetzt habe ich per htaccess alle Seiten auf eine einzige neue Hauptdomain mit https… umgeleitet.

    Mir ist leider noch nicht ganz klar was jetzt da bei der Google Indexierung passiert?

    Werden die Seiten wenn ich Sie einfach so lasse und nicht lösche, dann nach und nach durch die neuen https Seiten „ausgetauscht“ und an der fast gleichen Stelle von Google mit dem neuen Namen indexiert und der alte Adresseneintrag ist dann entgültig verschwunden?

    Soll man aus Geschwindkeitsgründen, nach der erfolgten neuen Indexierung, die htacess Umleitungseintrage löschen oder kann es dann passieren das die alten Seiten dann bei irgendeiner erneuten Google Indexierung wieder mal auftauchen und das ganze Spiel wieder von vorne beginnt?

    Was passiert wenn ich alle alten und bereits idexierten Domainadressen die ich per htaccess auf eine neue Hauptdomain umlenke, auch gleichzeitig aus dem Google Index löschen lasse? Verliere ich dann mein Ranking oder geht Google beim Erst-Crawling (der alten noch existierenden Einträge bzw. bereits gelöschten Seiten) dann eh auf meine durch htaccess umgelenkte neue Domainseite und es hat keinen wirklich nachteiligen Einfluss auf das Ranking?

    Danke für Deine Anwort,
    lg Georg

    Antworten
    • Lukas Pugstaller meint

      4. April 2018 um 18:26

      Hallo Georg,

      die Websites, die auf die neue Website weiterleiten, werden nach und nach in den Suchergebnissen durch die neue Website ersetzt.

      Wenn du diese durch einen 301 / permanent Redirect weiterleitest, sollte die neue Website ca. dort in den Suchergebnissen erscheinen wo eine der alten Websites auch früher positioniert war. Es dauert aber in der Regel ein paar Wochen bis Monate bis die Redirects erkannt wurden. Durch den temporären Duplicate Content kann es außerdem ein bisschen länger als normalerweise dauern bis die alten Rankings wieder vorhanden sind.

      Die Redirects würde ich in der .htaccess lassen, da die alten Websites nur noch einen Sinn haben: die Weiterleitung auf die neue Website. Die Weiterleitung via .htaccess-Datei ist zudem sehr schnell und beeinflusst die Ladezeit der neuen Website nicht.

      Ich würde die alten Domains nicht aus dem Google-Index löschen lassen, da diese das Ranking auf die neue Website vererben sollen.

      LG Lukas

      Antworten
  34. Stefan meint

    9. April 2018 um 08:51

    Vielen Dank für den Beitrag, jedoch habe ich immer noch meine Probleme damit.

    Ich möchte meine URL von Groß- auf Kleinschreibung umstellen, das habe ich so gemacht:


    RewriteEngine On

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

    RewriteRule ^_(.*).html$ /index.php?site=content&freicontent=$1

    Redirect 301 /_Schwarzwaelder_Kirschtorte.html https://www.schwarzwaldportal.com/_schwarzwaelder-kirschtorte.html

    Ich werde dann aber zu https://www.schwarzwaldportal.com/_schwarzwaelder-kirschtorte.html?site=content&freicontent=Schwarzwaelder_Kirschtorte geleiet und nicht zu https://www.schwarzwaldportal.com/_schwarzwaelder-kirschtorte.html

    Wie kann ich verhindern, dass mir die Varabeln angehängt werden?

    Antworten
    • Lukas Pugstaller meint

      12. April 2018 um 10:05

      Hallo Stefan,

      das liegt an dieser Zeile:

      RewriteRule ^_(.*).html$ /index.php?site=content&freicontent=$1

      Wenn du diese entfernst sollte es funktionieren.

      Alternativ kannst du die Reihenfolge ändern, damit der Redirect zuerst durchgeführt wird. Das würde dann so aussehen:

      RewriteEngine On
      
      RewriteCond %{HTTPS} off
      RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
      
      Redirect 301 /_Schwarzwaelder_Kirschtorte.html https://www.schwarzwaldportal.com/_schwarzwaelder-kirschtorte.html
      
      RewriteRule ^_(.*).html$ /index.php?site=content&freicontent=$1

      LG Lukas

      Antworten
      • Stefan meint

        13. April 2018 um 08:26

        Hi Lukas,

        vielen Dank für die Hilfestellung leider funktioniert es nicht.

        Ich habe die Seite auch schon mittels PHP Header umgeleitet, das geht aber Google hat immer noch die alte Seite (/_Schwarzwaelder_Kirschtorte.html) im Index.

        LG Stefan

        Antworten
        • Stefan meint

          13. April 2018 um 08:29

          Hab einen Weg gefunden.

          Ich stelle die Reihenfolge so um:

          RewriteRule ^_(.*).html$ /index.php?site=content&freicontent=$1

          #Weiterleitungen
          Redirect 301 /index.php?site=content&freicontent=Schwarzwaelder_Kirschtorte https://www.schwarzwaldportal.com/_schwarzwaelder-kirschtorte.html

          Danke für deine Hilfe

          Antworten
  35. Rolf Kollenberg meint

    15. April 2018 um 14:36

    Moin Lukas,
    ich bin richtig begeistert über die vielen hilfreichen Tipps hier, habe mir auch alles ausgedruckt, um mein Problem lösen zu können, aber ich komme noch nicht sehr viel weiter.
    Ich suche aber seit drei Tagen Lektüre zu dieser Problematik.
    Es muss doch ein Buch oder so geben für htaccess, Redirekt bzw. Weiterleitung, hast Du da einen Rat für mich?
    Ich habe Serverplatz auf 1und1, meine Website in der Root und mit Ordnern, zu denen Domains weitergeleitet werden auf ihre Seiten.
    Nun möchte ich gleichzeitig auf SSL umsteigen, www auf nicht www und zwei com-Domains auf meine Website in der Root umleiten (letzteres eventuell mittels Ordner und htaccess).
    Aber welche Reihenfolge muss ich einhalten, und was mache ich mit Websites, die in einem Unterordner liegen??
    Gibt es für sowas keine Lektüre???
    Danke und Liebe Grüße von der Insel Fehmarn
    Rolf

    Antworten
    • Lukas Pugstaller meint

      20. April 2018 um 09:48

      Hallo Rolf,

      ich kann dir leider keine Lektüre aus diesem Bereich empfehlen, da mir hier nichts bekannt ist. Ich werde aber trotzdem versuchen so gut es geht dir zu helfen.

      Für den Umstieg auf SSL bzw. HTTPS und die Weiterleitung der www-Subdomain auf deine Root-Domain benötigst du folgende zwei Redirects:

      
      
          RewriteEngine On
      
          # Weiterleitung auf HTTPS
          RewriteCond %{HTTPS} !=on
          RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      
          # Weiterleitung von www auf nicht-www
          RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
          RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
      
      

      Du solltest diese Zeilen übrigens nur in der .htaccess-Datei im Root-Verzeichnis der jeweiligen Website einfügen.

      Für die Weiterleitung der beiden .com-Domains musst du folgende Zeilen in die .htaccess-Datei im Root-Verzeichnis der jeweiligen .com-Domain einfügen:

      
          RewriteEngine on
          RewriteRule (.*) https://neuedomain.de/ [R=301,L]
      

      Hoffentlich konnte ich dir damit helfen.

      LG Lukas

      Antworten
      • Rolf Kollenberg meint

        22. April 2018 um 15:24

        Danke Lukas,
        das hat mir sehr geholfen! Jetzt habe ich erst mal viel Arbeit,
        muss ja überall die DSGVO einarbeiten.
        Danach versuche ich dann mal rauszufinden, wie ich die Joomla
        und eine WordPress-Seite dazu bewegen kann, auch HTTPS zu
        Bekommen.
        Noch einmal: Herzlichen Dank
        P.S. Ich versuche immer, solche Probleme durch Lesen zu lösen, deshalb die Frage nach Lektüre, weil ich bisher nichts dazu habe finden können.

        Gruß von der Ostsee-Insel und -Stadt Fehmarn
        Rolf

        Antworten
        • Lukas Pugstaller meint

          24. April 2018 um 18:19

          Halo Rolf,

          kein Problem! Falls du Hilfe benötigst bei der Umstellung von HTTP auf HTTPS bei Joomla sowie WordPress kannst du mich gerne kontaktieren.

          Falls es sich zeitlich ausgeht, werde ich noch einen Blog-Beitrag zur DSGVO schreiben. Ich weiß aber leider nicht ob ich das bis 25.5. schaffe.

          LG Lukas

          Antworten
  36. Barbara meint

    2. Mai 2018 um 09:50

    Hallo Lukas,
    vielen Dank, alles sehr informativ und schön zusammengefasst. Leider kann ich nirgends eine Lösung für mein Problem finden. Vielleicht weißt Du da weiter.
    domain1, domain2 und domain3 zeigen auf den gleichen Ordner. Jetzt soll durch die Umstellung auf https die Domains eben auf https://domain1, https://domain2, https://domain3 weitergeleitet werden. Ist das möglich? Ich weiß das Multidomains nicht gut sind, aber es wird halt so gewünscht.
    Vielen Dank eventuell für eine Lösung, ansonsten auch fürs Lesen.

    Antworten
    • Lukas Pugstaller meint

      4. Mai 2018 um 09:16

      Hallo Barbara,

      füge die folgenden Zeilen in die .htaccess-Datei des Root-Verzeichnis ein:

      
      
          RewriteEngine On
      
          # Weiterleitung auf HTTPS
          RewriteCond %{HTTPS} !=on
          RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      
          # Weiterleitung von www auf nicht-www
          RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
          RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
      
      

      Sollte das nicht funktionieren, gib mir bitte kurz Bescheid.

      LG Lukas

      Antworten
  37. Janina meint

    6. Juli 2018 um 14:34

    Hallo Lukas

    Ich habe eine Frage bezüglich mehreren Weiterleitungen:
    Wenn ich die Hauptdomain (ohne Index) auf die eine Seite weiterleiten möchte, die Unterdomains jedoch auf eine andere – muss ich dann den Code so eingeben?
    Redirect 301 / https://www.NeueHauptdomain.ch/
    Redirect 301 /Unterseite1 https://www.AndereHauptdomain.ch/Unterseite1
    Redirect 301 /Unterseite2 https://www.AndereHauptdomain.ch/AndereUnterseite

    Vielen Dank schon im Voraus!

    Antworten
    • Lukas Pugstaller meint

      12. Juli 2018 um 10:39

      Hallo Janina,

      wenn du die Hauptdomain bzw. Startseite weiterleiten willst, würde ich das wie folgt.

      Redirect 301 /index.html https://www.NeueHauptdomain.ch/
      Redirect 301 /Unterseite1 https://www.AndereHauptdomain.ch/Unterseite1
      Redirect 301 /Unterseite2 https://www.AndereHauptdomain.ch/AndereUnterseite
      

      LG Lukas

      Antworten
  38. C. Schlögl meint

    17. September 2018 um 16:16

    Hallo,

    ich bin allen Kommentaren durch gegangen und konnte leider keine Lösung für mein Problem finden. Meine Webseite besitzt zwei Domains (.de und .at) und ich möchte eine https://www. Weiterleitung ermöglichen. Kannst du mir sagen wie ich hier vorgehen muss?

    von non-www zu www
    domain.de -> http://www.domain.de
    domain.at -> http://www.domain.at

    von http zu https
    http://www.domain.de -> https://www.domain.de
    http://www.domain.at -> https://www.domain.at

    von non www http zu www https
    http://domain.de -> https://www.domain.de
    http://domain.at -> https://www.domain.de

    Die Suchfunktion habe ich ebenfalls bereits genutzt und konnte zu keinem Ergebnis kommen.

    Vielen Dank im Voraus für deine Hilfe!

    Antworten
    • Lukas Pugstaller meint

      18. September 2018 um 18:14

      Hallo,

      da ich eigentlich immer auf die nicht-www-Version der URL weiterleite, bin ich mir nicht ganz sicher, aber das sollte funktionieren:

      
      
          RewriteEngine On
      
          # Weiterleitung auf HTTPS
          RewriteCond %{HTTPS} !=on
          RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
      
          # Weiterleitung von nicht-www auf www
          RewriteCond %{HTTP_HOST} ^domain.de [NC]
          RewriteRule ^(.*)$ https://www.domain.de/$1 [L,R=301,NC]
      
      

      Sollte das nicht funktionieren, gib mir bitte kurz Bescheid.

      LG Lukas

      Antworten
      • C. Schlögl meint

        19. September 2018 um 11:32

        Vielen Dank für die Antwort!
        Leider hat es nicht geklappt. Wenn ich http://domain.de eingebe wird zwar zu https:// weitergeleitet aber ohne www.

        Antworten
        • Lukas Pugstaller meint

          28. September 2018 um 16:11

          Hallo,

          alternativ kannst du noch das versuchen:

          
          
              RewriteEngine On
          
              # Weiterleitung auf HTTPS
              RewriteCond %{HTTPS} !=on
              RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
          
              # Weiterleitung von nicht-www auf www
              RewriteCond %{HTTP_HOST} !^www\. [NC]
              RewriteCond %{SERVER_ADDR} !=127.0.0.1
              RewriteCond %{SERVER_ADDR} !=::1
              RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
          
          

          LG Lukas

          Antworten
  39. Gerd meint

    17. Januar 2019 um 18:31

    Klasse Artikel, allerdings bin ich gerade auf der Suche wie ich eine alte Subdomain einer Expired auf meine Seite umleiten kann, weiß jemand wie das geht?

    Antworten
    • Lukas Pugstaller meint

      12. Februar 2019 um 14:12

      Hallo Gerd,

      tut mir leid, dass ich jetzt erst antworte. Um eine Subdomain weiterzuleiten, würde ich für diese einfach einen Webspace anlegen und anschließend via .htaccess die Redirects setzen (falls es ein Apache Server ist).

      LG Lukas

      Antworten
  40. Steffen Matthes meint

    17. April 2019 um 10:51

    Hi Lukas,

    klasse Tipps (Y). Ich versuche einen Redirect von einer Joomla auf eine WordPress Installation zu machen. Allerdings wird mein Reirect ignoriert. :/
    Hast du einen Tipp, wie ich den korrekt anlege um eine SEO freundliche URL und eine Weiterleitung vom alten zum neuen Artikel zu bekommen?

    Im WordPress steht in dem .htaccess Teil folgendes bereits drin:
    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # Weiterleitungen
    Redirect 301 /index.php?option=com_content&view=article&id=47&Itemid=75 https://www.example.org/unternehmen/

    .htaccess an sich funzt, der Provider ist IONOS (1und1)

    Besten Dank schon mal
    Steffen

    Antworten
    • Lukas Pugstaller meint

      17. April 2019 um 12:15

      Hallo Steffen,

      ich würde den Redirect an erster Stelle schreiben. Also so:

      # Weiterleitungen
      Redirect 301 /index.php?option=com_content&view=article&id=47&Itemid=75 https://www.example.org/unternehmen/
      
      # BEGIN WordPress
      
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ – [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      

      Solltest du aber mehrere Weiterleitungen benötigen, würde ich das WordPress-Plugin Redirection verwenden. Damit kannst du diese sehr gut verwalten.

      LG Lukas

      Antworten
      • Steffen meint

        17. April 2019 um 12:34

        Danke dir für den Tipp, an n Plugin für WP hatte ich noch nicht gedacht. Super (Y)

        Danke dir
        Steffen

        Antworten
  41. Dominik meint

    7. Oktober 2021 um 15:15

    Hallo,

    ist es möglich einen Redirect wie folgt zu erstellen?

    /überseite/ -> wird weitergeleitet auf -> /überseite/unterseite/

    Wir haben eine Seite die wir eigentlich nicht mehr benötigen wollen jedoch nicht den kompletten Linkpfad ändern. Somit wollten wir nur die Überseite nicht mehr aufrufbar machen und direkt auf die Unterseite verlinken.
    Wir haben es aktuell in der htaccess Datei hinterlegt jedoch passiert dann dies:
    /überseite/unterseite/unterseite/unterseite/unterseite/unterseite/unterseite/unterseite/unterseite/unterseite/unterseite/unterseite/unterseite/unterseite/….

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Impressum | Datenschutz