RewriteCond %{HTTP_HOST} (gewerberaumboerse|gewerberaumbörse)\.(wgb24|dwgb)\.(net|de) [NC]
RewriteRule (.*) http://%2.%3/%1?%{QUERY_STRING}
RewriteRule (xn--gewerberaumbrse-ktb) gewerberaumbörse [R=301]
Das vorliegende Beispiel zeigt eine mögliche (generische) Verwendung des Mod_Rewrite-Moduls von Apache beim Umgang mit Subdomains, die Umlaute im Namen tragen.
Die ersten beiden Zeilen bewirken, dass die Domains "gewerberaumboerse" und "gewerberaumbörse" auf die Domain "wgb24.net" umgeleitet werden, und der Name der Subdomain dem URI_REQUEST als Pfad angehängt werden. So soll erreicht werden, dass "gewerberaumbörse.wgb24.net" zu "wgb24.net/gewerberaumbörse" umgewandelt wird.
RewriteCond %{HTTP_HOST} (gewerberaumboerse|wohnraumboerse)\.(wgb24)\.(net) [NC]
RewriteRule (.*) http://wgb24.net/%1?%{QUERY_STRING}
Das %1 in der zweiten Zeile wird als "backreference" bezeichnet, und bewirkt, dass wir beim Umschreiben der URL den Namensbestandteil der Subdomain, den wir in der RewriteCond abgefragt haben, auch noch zur Verfügung haben. Ansonsten würde sich die RewriteRule nur auf den REQUEST_URI-Teil der Anfrage beziehen. Die Information, welche Subdomain abgefragt wird, stünde uns sonst somit nicht zur Verfügung. Die Referenzen sind hier farblich hervorgehoben:
RewriteCond %{HTTP_HOST} (gewerberaumboerse|wohnraumboerse)\.(wgb24)\.(net) [NC]
RewriteRule (.*) http://%2.%3/%1/$1?%{QUERY_STRING}
Bis hierhin funktioniert das Beispiel für "gewerberaumboerse" problemlos. Als nächstes nutzen wir das mod_rewrite-Modul, um das Finetuning für die URL zu erreichen, damit auch die Umlaut-Variante richtig umgeschrieben wird:
RewriteRule (xn--gewerberaumbrse-ktb) gewerberaumbörse [R=301]
Beim Umschreiben der Subdomain sind uns nämlich die Umlaute abhanden gekommen. Daher müssen wir den etwas "verstümmelten" Namen des Pfades wieder rekonstruieren..
Popularity: 44% [?]


Write a Comment