301er-Umleitung mit htaccess

  • Beitrags-Kategorie:Web
  • Beitrags-Kommentare:9 Kommentare
  • Lesedauer:1 min Lesezeit

Mal was sehr Technisches. Manche von euch surfen – aus welchen komischen Gründen auch immer – hier auf www.henning-schuerig.de oder henningschuerig.de statt auf www.henningschuerig.de.

Um diese Besucher umzuleiten, hab ich letztens folgendes in meine .htaccess geschrieben. Hab das irgendwo anders gefunden, dass das so ginge.

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

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

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

Wer nun auf www.henning-schuerig.de geht, wird auch brav umgeleitet. Wer auf www.henning-schuerig.de/blog geht, leider nicht. Woran liegt das?

Dieser Beitrag hat 9 Kommentare

  1. Kai Nehm

    Lösch mal das $-Zeichen vor [NC].
    Sonst stimmt der reguläre Ausdruck nur für den Fall, dass nach dem .de nichts mehr folgt.

  2. Henning

    Aber dann ignoriere ich ja, wo sie hinwollten, oder? Dann leite ich alle immer auf /blog/ um, auch wenn sie auf nen bestimmten Beitrag wollten, oder?

    Ich hab gerade ne andere Idee. Kann es daran liegen, dass ich im /blog/-Ordner noch ne htaccess habe, wo diese RewriteRules nicht drinstehen? Muss ich die da dann auch nochmal reinschreiben?

  3. Henning

    Hm, hab ich gemacht, scheint aber immer noch nicht zu funktionieren (oder muss man da etwas warten?). Sieht jetzt wie folgt aus:

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

    Danke jedenfalls trotzdem schon mal.

  4. chris-b
    RewriteRule  ^$ https://www.henningschuerig.de/blog/   [R=301,L]

    So werden einfach alle Besucher umgeleitet, egal, wie sie hergekommen sind.
    Kannst das „blog/“ natürlich auch noch rausnehmen.

  5. chris-b

    Ja, so würde sie immer in den Blogordner gehen.

    Wenn Du das so machst, wird immer ein „www“ davor gemacht. Funktioniert auch mit Ordnerangaban hinter der URI.

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} !^$
    RewriteCond %{HTTP_HOST} !^www.henningschuerig.de [NC]
    RewriteRule (.*) https://www.henningschuerig.de%{REQUEST_URI} [R=301,L]
    
  6. Henning

    Danke, Chris. Aber dein Code hat mir nur das Gleiche gebracht wie der oben im Beitrag. Erst als ich jetzt – wie zwei Kommentare vor dem hier vermutet – den Code auch in die htaccess unter /blog/ geschrieben habe, ging’s.

    Das heißt, es geht jetzt. Danke euch beiden!

  7. chris-b

    Okay, dann ist ja alles bestens.
    Schönen Wochenende noch!

  8. Gerhard Fobe

    Benutze doch einfach eine allgemeine Form wie

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

    ich hatte noch keinen Fall, wo die nciht geht

  9. Michl

    Das ist jetzt mal was eher für Anfänger. Aber wichtig! Wie oft hab ich selbst schon nach passenden simplen Lösungen gesucht und nur tuut tuut am Bahnhof verstanden.

    Also:

    Ich war auch gerade an einem Umzug einer Domain beteiligt und hatte als einziger ein bisschen Ahnung von der htaccess. Es war das Problem, das wie in den meisten Foren beschriebene => Redirect 301 / http://www.neuerDomainname.de nur für die Startseite funktioniert. Alle Unterseiten wurden nicht weitergeleitet. Jetzt kann man natürlich hergehn und tatsächlich jede einzelne url der alten Seite in der htaccess weiterleiten. Ich hab zufällig rausgefunden das wenn man ein / nach http://www.neuerDomainname.de setzt, also => http://www.neuerDomainname.de/ werden alle Unterseiten auch korrekt weitergeleitet.
    Redirect 301 / http://www.neuerDomainname.de/
    Voraussetzung dafür ist natürlich das sich NUR der Domainname ändern soll und sich nicht noch alle url Bezeinungen ändern. Also http://www.alterDomainname/itswitz.html muss zu http://www.neuerDomainname.de/itswitz.html werden können.
    Ich hoffe mal das dies dem einen oder anderen mal schnell weiterhelfen wird.

Schreibe einen Kommentar