Ankündigung

Einklappen
Keine Ankündigung bisher.

Umleiten mit ein paar exakten Ausnahmen

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Umleiten mit ein paar exakten Ausnahmen

    Hallo zusammen.

    Ich versuche eine Umleitung von einer Domain zur anderen zustande zu bringen.
    Die neue Domain / Website hat eine andere Struktur. Somit wäre die Idee, alle Seiten
    auf die Startseite umzuleiten mit ein paar wenigen Ausnahmen wie Kontakt, Produkte usw.

    1 zu 1 Umleitung klappt perfekt.
    Alles auf die Startseite auch. Aber die Mischung... da fallen mir jetzt dann die Haare raus.

    Beispiel:

    domain.nic/contact soll zu newdomain.nic/kontak
    domain.nic/products soll zu newdomain.nic/angebote
    [+weitere 7 Ausnahmen]
    Der Rest soll auf newdomain.nic/
    weitergeleitet werden.

    Mit

    Redirect 301 /contact newdomain.nic/kontakt
    klappt das wunderbar - dies für alle erdenklichen Unterseiten zu machen ist dann doch ein bisschen zu aufwändig.

    RewriteCond %{HTTP_HOST} ^(domain.nic)?$
    RewriteRule (.*) http://www,newdomain.nic/$1 [R=301,L]

    funktioniert ebenfalls prächtig und wie gewünscht. Nur wie packe ich hier die Ausnahmen im Obigen Beispiel rein?

    Ich bedanke mich schon im Voraus fürs Lesen und evt. deine Hilfe.

    LG Sodaho


  • #2
    Code:
    RewriteEngine On
    
    
    RewriteCond %{REQUEST_URI} !^/contact/?$
    RewriteCond %{REQUEST_URI} !^/products/?$
    RewriteCond %{HTTP_HOST} ^(domain.nic)?$
    RewriteRule (.*) http://www.newdomain.nic/$1 [R=301,L]
    
    RewriteCond %{REQUEST_URI} ^/contact/?$
    RewriteCond %{HTTP_HOST} ^(domain.nic)?$
    RewriteRule (.*) http://www.newdomain.nic/kontakt [R=301,L]
    
    RewriteCond %{REQUEST_URI} !^/products/?$
    RewriteCond %{HTTP_HOST} ^(domain.nic)?$
    RewriteRule (.*) http://www.newdomain.nic/angebote[R=301,L]
    
    ...
    Probier das mal, ungetestet.

    Ein PHP-Seitiger "Reflektor" für diene 7 Einträge der automatisch auf die richtige Route umleitet wäre allerdings simpler / Wartungsfreundlicher.
    PHP.de Gitter.im Chat - Meine öffentlichen Bookmarks ← Ich habe dir geholfen ? Beschenk mich.

    Kommentar


    • #3
      Hallo tr0y,

      vielen Dank für deine Hilfe! Es funktioniert so 1 zu 1 wie es soll.

      Code:
      RewriteCond %{REQUEST_URI} ^/products?$
      RewriteCond %{HTTP_HOST} ^(www\.)?domain\.nic$
      RewriteRule (.*) http://www.newdomain.nic/angebot [R=301,L]
      
      RewriteRule (.*) http://www.newdomain.nic/ [R=301,L]
      das ^(www\.)? vor der Domain, damit alle Verlinkungen im Netz weitergeleitet werden ( mit oder ohne www )

      Einziger Punkt an dem ich im Moment noch hänge und mich am einlesen bin ist der Teil mit den Umlauten.
      Ich müsste von einem Link der Bruecke heißt auf Brücke umleiten. Mit falscher Schreibweise im htaccesfile funktioniert die Umleitung, aber sieht dann etwas doof aus in dem URL Eingabefeld. Dieser wird somit einfach auf die Startseite geleitet.

      Wegen dem PHP-Seitigem Reflektor. Dies habe ich mir auch überlegt. War wohl ab einem gewissen Punkt einfach nur noch stur, dass so zu lösen wie es jetzt ist

      Vielen Dank nochmals für deine Hilfe!

      Kommentar


      • #4
        Gib die "Verumlautung" URL-Encoded an: Brücke -> Br%C3%BCcke

        Tool: http://meyerweb.com/eric/tools/dencoder/

        Zufuß: https://eval.in/private/badef4f4177f3e

        aber auch das ungetestet, nur rein von der Logik her ( Apache hantiert ja mit encoded urls soweit ich mich auf der .htaccess-Ebene jetzt erinnere ), musst du schauen ob das dann auch so funktioniert.
        PHP.de Gitter.im Chat - Meine öffentlichen Bookmarks ← Ich habe dir geholfen ? Beschenk mich.

        Kommentar

        Lädt...
        X