Michael Buchholz: Beiße mir an RewriteRule die Zähne aus... Kann wer helfen?

Beitrag lesen

... also ja, mit Umstellen funktioniert das, zumindest auf eine Domäne bezogen ...

Ich habe im Netz noch eine andere Nummer gefunden, die ziemlich geschickt aufgebaut ist und sich eigentlich ohne Änderungen für alle Domänen eignen dürfte. Ich hätte auch kein Problem damit, das in den htaccess unterzubringen (dort funktioniert [OR]/[AND] im Gegensatz zu den conf- Dateien, wenn ich das richtig sehe). Nur umbauen müsste ich es noch, damit es meinen Zielen gerecht wird. Aber hier mal der Schippsel...

RewriteEngine On
RewriteCond %{HTTP_HOST} !=""
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Da sollte jetzt noch ein http Forward abgefangen werden. Dann müsste das so aussehen meine ich?

RewriteEngine On
RewriteCond %{HTTP_HOST} !=""
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Nun muss ich das irgendwie so umbauen, das zum einen die Funktion "ohne www" -> "mit www" umgedreht wird, zum anderen jedwede angegebene Subdomäne außer www mit in die letzte Zeile übergeben wird.

Was ich nicht weiß ist, was genau in HTTP_HOST und REQUEST_URI drin steht? Ich vermute lediglich, das im Ersteren "domäne.tld", im Letzteren "/bla/blub" zu finden ist, falls angegeben? Im Weiteren vermute ich, das in HTTP_HOST eine angegebene Subdomäne nicht auftaucht?

Viele, viele Vermutungen aber kein Wissen. Vielleicht kann ich das mit Eurer Hilfe zu Wissen umwandeln?