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 gefordertenVersuch 2
RewriteCond %{HTTP_HOST} ^www.xn--cole-9oa.com$ [NC]
RewriteRule ^(.*) http://www.école.com/$1 [L,R=301]
das auch nichtob 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.