CIX88 hat geschrieben:Wenn schon die Domain per Hand eintragen, dann in etwas so:
RewriteCond %{HTTP_HOST} ^domain\.de/?(.*)$ [NC]
RewriteRule ^(.*)$
https://www.domain.de/$1 [R=301,L]
Kinners,
informiert euch doch bitte, womit ihr arbeitet, bevor ihr etwas anwendet, anstatt blind in der Gegend rumzupfuschen. Natürlich kann man nicht alles wissen, aber sich gar nicht erst mit den Sachen beschäftigen wollen, lieber andere machen lassen, und obendrein den Kram auch noch als Tipp verkaufen - nee, sorry.
HTTP_HOST ist eine Variable, dessen Inhalt aus dem
Host:-Feld der Anfrage stammt. Wenn man sich ein klein wenig mit dem ganzen Internet-Kram auskennt, sollte man wissen, was ein Host ist (das meine ich mit „nicht damit beschäftigen wollen“). Ein Host ist (hier) ein Webserver, gekennzeichnet wird er durch die Domain. In HTTP_HOST befindet sich dementsprechend die Domain und nichts anders. Es vollkommen sinnlos, HTTP_HOST auf irgendwelche anderen Bestandteile als die Domain prüfen zu wollen.
Eine Anfrage von example.com nach
www.example.com weiterleiten:
Code: Alles auswählen
RewriteCond %{HTTP_HOST} =example.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
Selbst wer sich die
Bedienungsanleitung zu RewriteRule nur ganz kurz Gemüte führt, sollte feststellen, dass der erste Parameter ein Muster ist, das mit dem URL-Pfad verglichen wird. Daraus lässt sich zumindest im Ansatz etwas schließen, was schlussendlich zu folgendem Code führen sollte:
Code: Alles auswählen
RewriteCond %{HTTP_HOST} =example.com
RewriteRule ^(ordner($|/.*)) http://www.example.com/$1 [R=301,L]
Nicht klar ist mir allerdings, warum nur dieser eine Ordner von der www-Geschichte betroffen sein soll. Wenn man sich schon auf eine Domain konzentriert, dann sollten doch prophylaktisch alle Pfade behandelt werden, nicht nur ein einzelner.