Umleitungsregeln per .htaccess

  • Folgendes Szenario möchte ich erreichen:

    1. alle Links von Domain1 (http://domain1.de/*) sollen zu Domain2 (http://www.domain2.de) weitergeleitet werden
    2. Ausnahmen: http://domain1.de/alt_link1 und http://domain1.de/alt_link2
    3. folgende Seiten der Domain1 sollen auf auf Domain2 weitergeleitet werden:
    http://domain1.de/link_alt auf http://domain2.de/link_neu

    Punkt 2 und 3 habe ich so realisiert, funktioniert soweit

    Apache Configuration
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !/alt_link1
    RewriteCond %{REQUEST_FILENAME} !/alt_link2
    
    
    Redirect /link_alt http://domain2.de/link_neu

    Nun komme ich aber ins straucheln, wie löse ich es, das die restlichen Links von domain1.de immer auf http://www.domain2.de geleitet werden?

    Einmal editiert, zuletzt von Hille (27. Mai 2015 um 16:50)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Versuch:

    RewriteEngine on
    RewriteCond %{REQUEST_URI} !/alt_link1
    RewriteCond %{REQUEST_URI} !/alt_link2
    RewriteRule /links_alt http://domain2.de/link_neu [R=301,L]
    Redirect 301 / http://domain2.de/

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Hmmmm, eigentlich sollte das Regelwerk nach dem [L] nicht weiter ausgeführt werden, wenn die Regel greift.

    2. Versuch

    Apache Configuration
    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/link_alt
    RewriteRule (.*) [URL]http://domain2.de/link_neu[/URL] [R=301,L]
    RewriteCond %{REQUEST_URI} !^/alt_link1
    RewriteCond %{REQUEST_URI} !^/alt_link2
    RewriteRule (.*) [URL]http://domain2.de[/URL] [R=301,L]

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.


  • 2. Versuch

    Apache Configuration
    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/link_alt
    RewriteRule (.*) [URL]http://domain2.de/link_neu[/URL] [R=301,L]
    RewriteCond %{REQUEST_URI} !^/alt_link1
    RewriteCond %{REQUEST_URI} !^/alt_link2
    RewriteRule (.*) [URL]http://domain2.de[/URL] [R=301,L]

    So hat es funktioniert, vielen Dank.
    Kleines Problem noch, in einem Link ist ein Umlaut drin (für). Diese Regel wird nicht erkannt, habe auch mal als Punycode getestet, das gleiche Problem. Gibt es dafür auch ne Lösung?

  • Ich meine, die Umlaute in URLs müssen als Unicode stehen, also für -> für. Oder zusätzlich URL-Kodiert mit für -> f%C3%BCr. Oder so ähnlich. :-)

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte :) klicken.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!