sprain: mod_rewrite und Umlautdomains

Hallo zusammen!

Ich kriege meine Umlautdomains mit mod_rewrite nicht umgleitet. Hat jemand einen Input, wie ich das schaffe?

Ausgangslage:
www.école.com/anything soll auf www.ecole.com/anything umleiten.

Versuch 1:
RewriteCond %{HTTP_HOST} ^www.école.com$ [NC]
RewriteRule ^(.*) http://www.école.com/$1 [L,R=301]

Versuch 2
RewriteCond %{HTTP_HOST} ^www.xn--cole-9oa.com$ [NC]
RewriteRule ^(.*) http://www.école.com/$1 [L,R=301]

Beide Varianten funktionieren leider nicht.
Bin dankbar für jeden Tipp!

Gruss, sprain

  1. Hellihello

    du hast im rewriterule als ziel ja nach wie vor den accent.

    RewriteRule ^(.*) http://www.école.com/$1 [L,R=301]

    ^^^
    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. Peinlich, aber das war natürlich ein Schreibfehler im Forum...

      Ich hab diesen Stand, der trotdzem nicht funktioniert:
      Versuch 1:
      RewriteCond %{HTTP_HOST} ^www.école.com$ [NC]
      RewriteRule ^(.*) http://www.ecole.com/$1 [L,R=301]

      Versuch 2
      RewriteCond %{HTTP_HOST} ^www.xn--cole-9oa.com$ [NC]
      RewriteRule ^(.*) http://www.ecole.com/$1 [L,R=301]

      Any ideas?
      Danke! sprain

      1. Hellihello

        RewriteCond %{HTTP_HOST} ^www.école.com$ [NC]

        RewriteRule ^(.*) http://www.ecole.com/$1 [L,R=301]

        Versuch 2
        RewriteCond %{HTTP_HOST} ^www.xn--cole-9oa.com$ [NC]
        RewriteRule ^(.*) http://www.ecole.com/$1 [L,R=301]

        Any ideas?

        Jau, erstmal alles weglassen, was du für den ersen schritt nicht brauchst.

        Was gibt

        RewriteRule .* http://www.ecole.com [L]
        ?

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
  2. Ausgangslage:
    www.école.com/anything soll auf www.ecole.com/anything umleiten.

    Versuch 1:
    RewriteCond %{HTTP_HOST} ^www.école.com$ [NC]
    RewriteRule ^(.*) http://www.école.com/$1 [L,R=301]

    entspricht nicht dem geforderten

    Versuch 2
    RewriteCond %{HTTP_HOST} ^www.xn--cole-9oa.com$ [NC]
    RewriteRule ^(.*) http://www.école.com/$1 [L,R=301]

    das auch nicht

    ob du punycode verwenden oder nicht verwenden musst, weiss ich auch nicht - aber beide würden eine endlosschleife produzieren

    1. Ausgangslage:
      www.école.com/anything soll auf www.ecole.com/anything umleiten.

      Versuch 1:
      RewriteCond %{HTTP_HOST} ^www.école.com$ [NC]
      RewriteRule ^(.*) http://www.école.com/$1 [L,R=301]
      entspricht nicht dem geforderten

      Versuch 2
      RewriteCond %{HTTP_HOST} ^www.xn--cole-9oa.com$ [NC]
      RewriteRule ^(.*) http://www.école.com/$1 [L,R=301]
      das auch nicht

      ob du punycode verwenden oder nicht verwenden musst, weiss ich auch nicht

      Das Erste (also www.xn--cole-9oa.com), denn etwas anderes kommt serverseitig ja nicht an. Der Host-Header ist doch immer www.xn--cole-9oa.com, die Umwandlung findet clientseitig statt.

      • aber beide würden eine endlosschleife produzieren

      Richtig, und aus diesem Grund funktioniert das Vorhaben nicht. Hinzu kommt noch, dass Browser auch gleich noch die Domain in der Browser-Adresszeile ändern.
      Da vielen ein solches „Domain-Layout“ dann doch missfällt, leiten die IDN bzw. deren ASCII Compatible Encoding (ACE) dann doch oft auf „normale“ ASCII-Domains um...

      Jetzt steht im OP aber

      www.école.com/anything soll auf www.ecole.com/anything

      Also IDN --> ASCII. Das spiegelt sich aber nicht in den beigefügten Regeln wieder, denn dort wird in der Substitution immer école statt ecole notiert. Wohlmöglich wird

      RewriteCond %{HTTP_HOST} xn--cole-9oa.com [NC]
      RewriteRule ^(.*) http://www.ecole.com/$1 [L,R=301]

      gesucht? Browser fordern kein 3rd-level "www" an, natürlich kann das jemand manuell eingben, drum sollte die regEx nach links offen sein. Nach der Toplevel-Domain (com) kann noch ein Punkt oder/und :Port folgen, drum sollte sie i.d.R. auch nach rechts offen sein.

      1. gesucht? Browser fordern kein 3rd-level "www" an, natürlich kann das jemand manuell eingben, drum sollte die regEx nach links offen sein. Nach der Toplevel-Domain (com) kann noch ein Punkt oder/und :Port folgen, drum sollte sie i.d.R. auch nach rechts offen sein.

        nach links offen sein ist ggf nicht sehr schlau, wenn man nur www oder nicht www einschließen möchte

        ^(www.)? ist davor ggf das mittel der wahl

        nach rechts offen halten ist wahrscheinlich weniger unpraktisch, da es sehr unwahrscheinlich ist, dass eine ähnlich lautende domain mit anderem ende drauf zeigt

        wer hatt denn schon example.com bzw example.com. und example.com.at registiert? und auf den selben vhost zeigen - kommt äusserst selten vor

        dennoch lässt sich auch dies mit einer erweiterung des regulären ausdrucks begrenzen
        .?$

        wenn ich jetzt nicht falsch liege, sollte da dann so aussehen:
        ^(www.)?example.com.?$

        ein unvollständiger ausdruck (mit offen lassen oder ein nicht escapter punkt) könnte so schnell auch fehler verursachen - zwar ist es höchstens unwahrscheinlich, ist mir aber schon mal passiert - subdomain.example.com statt subdomain.example.com matchte in meinem fall zufällig auf die domain subdomain-example.com des selben kunden, die subdomain sollte aber auf einen anderen inhalt verweisen wie die domain mit ähnlichem namen

        1. dennoch lässt sich auch dies mit einer erweiterung des regulären ausdrucks begrenzen
          .?$

          Ja, ggf. noch mit Port falls gewünscht, .?(:[0-9]+)?$ bzw. .?(:80)?$

          Zugegeben, dass jemand example.com. oder example.com.:80 oder example.com:80 statt example.com anfordert, was im Ergebnis ja alles das gleiche ist, dürfte recht selten sein.

          wenn ich jetzt nicht falsch liege, sollte da dann so aussehen:
          ^(www.)?example.com.?$

          Jap.

          ein unvollständiger ausdruck (mit offen lassen oder ein nicht escapter punkt) könnte so schnell auch fehler verursachen - zwar ist es höchstens unwahrscheinlich

          Ja, das kann natürlich nur der Verwender beurteilen, ob es zu Konflikten kommt. Der Punkt muss escaped werden, um ein Punkt zu sein, das ist klar. Da habe ich schon öfters Fälle in Foren gesehen, wo das Unterlassen des Escapen zu unerwünschten Ergebnissen geführt hatte.  :-)

          1. Ja, das kann natürlich nur der Verwender beurteilen, ob es zu Konflikten kommt. Der Punkt muss escaped werden, um ein Punkt zu sein, das ist klar. Da habe ich schon öfters Fälle in Foren gesehen, wo das Unterlassen des Escapen zu unerwünschten Ergebnissen geführt hatte.  :-)

            nach sicher . und . entsprechend eben beide einem punkt - nur leider ohne escaping halt auch ganz anderen zeichen :D