Support » Allgemeine Fragen » 301 redirect mit .htaccess funktioniert nicht

  • Gelöst kingcibo

    (@kingcibo)


    hallo,
    ich möchte schon mal herzlich im voraus danken, dass ihr euch meines prblems annehmt.
    Ausgangslage:
    ich habe bei strato ein wp-starterpaket gebucht mit der domain http://www.ladakhguesthouse.com. Diese url sollte auch im adressfeld angezeigt werden, wenn ich die alte und bestehende url http://www.bothoguesthouse dorthin per 301 redirect weiterleite. ich habe also mal bei strato in der domainverwaltung alles gelassen wie es war: http://www.ladakhguesthouse ist intern auf mein host-wp-paket verlinkt, mit der bothoguesthouse habe ich bislang noch keinen a-record eintrag oder gar interne/externe weiterleitung gemacht. grund: das seo-ranking wollte ich gerne mittnehmen zur neuen url – daher sollte ein 301 redirect sein.
    ich habe als eine .htacces angelegt, die wie folgt aussah:

    RewriteEngine on
    rewritecond %{http_host} ^bothoguesthouse.com [nc,or]
    rewritecond %{http_host} ^www.bothoguesthouse.com [nc]
    rewriterule ^(.*)$ http://www.ladakhguesthouse.com/$1 [r=301,nc]
    rewritecond %{http_host} ^ladakhguesthouse.com [nc,or]
    rewritecond %{http_host} ^www.ladakhguesthouse.com [nc]
    rewriterule ^(.*)$ http://www.ladakhguesthouse.com/$1 [r=301,nc]

    … dann hat auch die ladakhguesthouse.com nicht mehr funktioniert.komisch war das die bestehende htaccess datei im wp-verzeichnis so aussah, ich wusste also gar nicht, wo ich meinen code einsetzen sollte:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress

    daher hatte ich dann alles gegen meinen oberen entwurf ausgetauscht – wie geasgt, leider erfolglos.
    der strato-hotline-mann meinte ich solle das problem einfach mit weiterleitungen lösen und ohne htaccess, aber dann hätte ich keinen 301 redirect, der mir wichtig ist.

    könnt ihr mir sagen, ob ich einen fehler gemacht habe in meinem code, oder ob ich noch bestimmte einstellungen bei strato machen muss – bspw. in a-record bei der bothoguesthouse die ip von der ladakhguesthouse oder so hinterlegen?

    1.000 DANK IM VORAUS FÜR EURE HILFE… I

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 16)
  • Servus,

    bin gerade am Überlegen, würde nicht ein „normales“

    RewriteEngine On
    RewriteCond %{REQUEST_URI} (.*)
    RewriteRule ^(.*)$ http://www.ladakhguesthouse.com/$1 [L,R=301]

    für die .htaccess der alten Seite reichen?

    Nehmen wir einmal an, du ziehst mit Sack und Pack von der Badstraße in Schlossallee. Du möchtest, dass deine Post von der Badstraße automatisch in die Schlossallee weitergeleitet wird. Dazu musst du in der Badstraße eine Weiterleitungsregel hinterlegen, nicht unter der neuen Adresse Schlossallee, denn die bekommt von deiner Post in die Badstraße zunächst ja gar nichts mit – es sei denn, in der Badstraße liegt ein Auftrag (eine Weiterleitungsregel) vor, Post an die Schlossallee weiterzuschicken.

    Die von @cyberdogdesigns genannte Weiterleitungsregel ist perfekt … vorausgesetzt, du trägst sie auf dem alten Server ein, auf dem bisher http://www.bothoguesthouse gehostet wurde.

    Vielen Dank für die schnellen Antworten. Habe den redirct von cyberdog nun bei der domainhoster der alten domain (botho-)domain hinterlegt und die weiterleitung funktioniert.
    damit das ziel auch erreicht wird, habe ich nun 2 domains – die ladakh… und die botho… – die beide intern auf mein wordpressverzeichnis linken. ist das korrekt? und SEO freundlich?

    noch eine frage zum redirect von CYBERDOGs redirect:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} (.*)
    RewriteRule ^(.*)$ http://www.ladakhguesthouse.com/$1 [L,R=301]
    –> wäre es nicht besser auf https zu redirecten, so muss nicht noch mal intern von http zu https (auf der ladakh-domain) weitergeleitet werden, aslo so:
    RewriteRule ^(.*)$ https://www.ladakhguesthouse.com/$1 [L,R=301]

    im moment ist die weiterleitung ja so:
    http://www.bothoguesthouse.com/
    –> http://ladakhguesthouse.com/
    –> https://ladakhguesthouse.com/

    …die beide intern auf mein wordpressverzeichnis linken. ist das korrekt? und SEO freundlich?

    Das sehen Google & Co. anders: der Bot ruft die eine URL auf und bekommt mitgeteilt, dass die Webadresse vorübergehend (302) oder permanent (301) umgeleitet wurde und ändert die Suchmaschineneinträge entsprechend auf den neuen Wert. Das finden Suchmaschinen sehr freundlich.

    … wäre es nicht besser auf https zu redirecten

    Doch, klar. Schau … wir beschäftigen uns ja hier in unserer freien Zeit ehrenamtlich mit deinem Problem – also während gerade ein anderes Script läuft, das mal wieder länger dauert, ein Anruf „in den nächsten fünf Minuten“ zu erwarten ist oder einfach der Kaffee durchläuft. Da kann es schon mal passieren, dass ein „https“ überlesen wird. Aber weil wir wissen, dass du gut aufpasst, ist das alles kein Problem, richtig? 😉

    jetzt klappts. die domain war schon umgezogen (obwohl sie beim alten hoster noch gelistet war), weswegen ein redirect beim alten hoster nicht gewirkt hat.
    hatte den redirect beim neuen hoster zuerst im wp-verzeichnis gemacht, was einen endlosloop verursacht hat. habe dann für die botho ein eigenes verzeichnis gemacht, dort den redirect eingesetzt und die domain intern auf das verzeichnis weitergeleitet. so ist alles gut:-)

    ich danke euch beiden noch mal herzlich dafür, dass ihr mir geholfen habt!!!

    habe dann für die botho ein eigenes verzeichnis gemacht, dort den redirect eingesetzt …
    O.o

    Das sollte eleganter gehen, wenn du die alte Domain nach Übertragung zum neuen Hoster auf das WordPress-Verzeichnis verweist und dort in der .htaccess eine Weiterleitungsregel einfügst. Achte darauf, dass der von WordPress erstellte Block immer als letztes in der .htaccess ausgeführt wird (ganz unten steht).

    wollte bewusst nicht mit 2 domains auf das gleiche verzeichnis verweisen wegen double content (2 domains mit gleichem inhalt).
    wenn das aber seo-technisch kein problem ist, probiere ich das am wochenende mal.

    NACHTRAG: wenn der WP-Block darunter steht, greift ja zuerst der redirect, damit kein endlos-loop und double content. ich hatte den redirect seinerzeit unter den wp-block geschrieben, dann gabs den loop. probooer ich heute nachmittag gleich mal aus:-)

    FUNKTIONIERT! Vielen Dank!!!

    Freut mich. Danke für die Rückmeldung.

    UuuPs!!! Doch Problem… jetzt ist meine http://www.ladakhguesthouse.com/wp-admin nicht mehr erreichbar – auch die http://www.ladakhguesthouse.com öffnet sich im browser nicht: „zu viele weiterleitungen“. mit meinem FTP-Server kann ich mich auch nicht mehr verbinden. botguesthouseweiterleitung funktioniert aber, die seite öffnet sich.

    setting müsste aktuell so sein: wp-verzeichnis:

    Redirect 301 / http://www.ladakhguesthouse.com/
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress

    botho verzeichnis:
    Redirect 301 / https://ladakhguesthouse.com/

    NACHTRAG: http://www.ladakhguesthouse.com öffnet sich doch im browser, die /wp-admin seite aber nicht:-( –> zu viele weiterleitungen

    So, rechner neu gestartet, mit dem server kann ich mich wieder verbinden.

    setting in htacces im ordner wordpress secure mode:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress

    hier der inhalt der htaccess im unterordner „wp-admin“ (kann es sein, dass 2 htaccess dateien zu viele sind? und ich aus versehen 2 dateien hochgeladen habe:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress

    Wenn du
    Redirect 301 / http://example.com/

    deinen WordPress-Rewrite-Regeln voranstellst, bedeutest das:
    alles was reinkommt, dauerhaft umleiten auf … (URL)

    Wenn du das auf einem anderen Server verwendest, ist das prima. Wenn du das auf dem gleichen Server (und im gleichen Verzeichnis) verwendest, auf dem auch deine WordPress-Dateien liegen, wird dauern umgeleitet.

    Was du aber erreichen wolltest ist, dass Anfragen für Domain A auf Domain B weitergeleitet werden und dann die WordPress-Rewrite-Regeln abgearbeitet werden.

    Wenn Domain A auf das Web-Stammverzeichnis mit den WordPress-Dateien verweist und WordPress unter Domain B läuft, wäre das sinngemäß

    
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^domain_a.com [NC,OR]
    RewriteCond %{HTTP_HOST} ^www.domain_a.com [NC]
    RewriteRule ^(.*)$ https://domain_b.com/$1 [L,R=301,NC]
    
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    

    Eine .htaccess reicht.

    Noch eine Bitte: wenn du Code postest, verwende doch auch den [code]-Button in der Formatierungsleiste. Das macht deine Beiträge lesbarer.

    1000Mal entschuldigung für die 1000 posts, aber problem ist jetzt gelöst. die htaccess hatte ich aus versehen in den wp-admin unterordner geladen. zudem:
    hatte übersehen, dass die htaccess im securmode-ordner sich nicht aktualisiert hatte. drin stand:

    Redirect 301 / http://www.ladakhguesthouse.com/

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress

    habe jezt alles wieder wie vorher eingestellt, über interne weiterleitung über /botho unterordner…

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 16)
  • Das Thema „301 redirect mit .htaccess funktioniert nicht“ ist für neue Antworten geschlossen.