Hallo und guten Abend,
nun habe ich hoffentlich genug Zeit, wenigstens den ersten Teil zu beantworten...
RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
- Umschreibe-Mechanismus einschalten
- Wenn der Wert in HTTP_HOST nicht exakt "www.example.com" beinhaltet
- (!) = nicht
- (^) = am Anfang der Zeichenkette beginnen
- ($) = bis zum Ende der Zeichenkette lesen
- [NC] = Groß-Kleinschreibung missachten
- %{HTTP_HOST} = der ausgeschnittene Domainanteil des Requests ohne Scheme und ohne Query-String
- Nimm den Query-String (also nicht den HTTP_HOST-Anteil) von Anfang bis Ende und hänge ihn
- ($1) hinter den URL-Anteil "http://www.example.com/",
- [K] = Dies ist die letzte zu beachtende Umschreiberegel,
- [R=301] = der Response-Status soll "301 "lauten.
($1) = erste in der Bedingung durch Klammerung extrahierter Treffer auf das dort angegebene (Muster). Wenn Du vorne mehr Klammern (Muster) hast, erscheinen die hinten wieder in ($x), x = Nummer des Klammerpaares.
Liebe Grüße
TS