Neu Shop Weiterleitung www -> ohne WWW

JulianO

Aktives Mitglied
24. Januar 2019
37
5
Moin

ich möchte, dass mein Shop nur ohne www erreichbar ist. Dafür wollte ich eine Umleitung machen. In der .htaccess original von JTL steht folgendes:

#REWRITE ANPASSUNG 2 (auf www.meinedomain.de umleiten)
#Ihr Shop sollte nicht unter www.meinedomain.de und nur meinedomain.de erreichbar sein, siehe: https://guide.jtl-software.de/index...tion#4._Einrichtung_einer_Domainweiterleitung
#Achten Sie darauf, daß Sie bei Verwendung der SSL-Verschlüsselung das Weiterleitungsziel unbedingt mit https und nicht nur mit http angeben!
#RewriteCond %{HTTP_HOST} !^www\.meinedomain\.de$ [NC]
#RewriteRule ^(.*)$ http(s)://www.meinedomain.de/$1 [R=301,L]
Aber kann es sein, dass das falsch ist? Wird damit nicht von domain.de auf www.domain.de umgeleitet und nicht andersrum? Und wie müsste es richtig lauten?

Vg
Julian
 

ergowebshop

Sehr aktives Mitglied
14. Januar 2022
259
78
Moin.
Der Hinweis sagt ja nur, dass man sich für mit oder ohne www entscheiden soll, das Beispiel darunter wäre, richtig erkannt, für mit www, was du ja eben nicht willst.

Also wäre in deinem Fall richtig:
RewriteCond %{HTTP_HOST} !^meinedomain.de$ [NC]
RewriteRule ^(.*)$ https://meinedomain.de/$1 [R=301,L]

Und bei Verwendung von SSL in der RewriteRule dann wie gesagt https statt http(s)
 
Zuletzt bearbeitet:

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.873
562
@JulianO
Also wäre in deinem Fall richtig:
RewriteCond %{HTTP_HOST} !^meinedomain.de$ [NC]
RewriteRule ^(.*)$ https://meinedomain.de/$1 [R=301,L]
Bei diesem Block wird aber http://meinedomain.de nicht umgeschrieben auf https, da die Bedingung nicht erfüllt wird.
Und du willst ja, dass alle deine Kunden auf den https Shop kommen (auch die, die den Domainnamen ja bereits richtig angegeben haben).

Also lass die Condition einfach weg und schreib nur RewriteRule ^(.*)$ [URL]https://meinedomain.de/$1[/URL] [R=301,L]

​

 

Nicson

Sehr aktives Mitglied
29. August 2012
516
94
Bayern
Mit welcher Software verwaltest du deine Domain?
Bei Plesk & cPanel gibt es die Einstellung "Bevorzugte Domain" www , non-www
Da kannst du dir das in der htaccess sparen...?
 

JulianO

Aktives Mitglied
24. Januar 2019
37
5
Erst einmal Danke euch beiden.
@Michael: Dafür habe ich schon eine 2te Condition und Rule.

@ergowebshop warum wird bei dir der Punkt in der Condition nicht escaped? Ich sehe, wenn man es googled beide Schreibweisen. Mal meinedomain\.de mal nur meinedoamin.de

VG
Julian
 

JulianO

Aktives Mitglied
24. Januar 2019
37
5
Mit welcher Software verwaltest du deine Domain?
Bei Plesk & cPanel gibt es die Einstellung "Bevorzugte Domain" www , non-www
Da kannst du dir das in der htaccess sparen...?
Bin bei Strato. Keine Ahnung was die da im Hintergrund einsetzen. Wird mittlerweile wohl auch was sehr eigenes sein.

Aber ich habe früher mit Plesk gearbeitet und eigentlich empfand ich das immer als Krampf. Wenn das nicht 100%ig läuft, dann macht man da mehr kaputt mit, als einem lieb ist. Gerade weil ja die meistens Tutorials, dann auf Dateien wie .htaccess aufsetzen und das gab dann immer Probleme, da es nicht wie erwartet funktionierte. Webmin war da immer deutlich besser, da man viel deutlicher gesehen hat, an welcher Stelle ich jetzt Werte verändere oder auch durch zusätzliche Dateien (wie .htaccess oder eigene php.ini) überschrieben habe. Aber das nur am Rande.
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.873
562
@ergowebshop warum wird bei dir der Punkt in der Condition nicht escaped? Ich sehe, wenn man es googled beide Schreibweisen. Mal meinedomain\.de mal nur meinedoamin.de
der Text in der Condition wird als RegEx ausgewertet, nicht als String In der RegEx steht der Punkt für jedes beliebige Zeichen (außer Zeilenumbrüche)
meinedomain\.de matcht also meinedomain.de
und meinedomain.de matcht meinedomainAde oder meinedomainBde oder meinedomain,de aber halt auch meinedomain.de

D.h. wenn man den Punkt nicht escaped, ist das eigentlich nur zufälligerweise richtig (besser gesagt, es ist nur nicht ganz falsch 😉) ...und es ist auch ein Beispiel dafür, dass googeln nicht zwangsweise zu guten Erkenntnissen führt.

@Michael: Dafür habe ich schon eine 2te Condition und Rule.
Der Apache wertet die htaccess bei jedem Request aus. Deshalb sollte man diese Dateien möglichst schlank halten.
Anstatt dem Server zu sagen: Teste zuerst mal, ob A zutrifft und teste in einem zweiten Schritt dann, ob B zutrifft und mach dann in einem dritten Schritt C
sag ihm lieber: mach grundsätzlich C - fertig.
 

Nicson

Sehr aktives Mitglied
29. August 2012
516
94
Bayern
Hm?
Code:
  #RewriteCond %{HTTP_HOST} ^www\.meinedomain\.de$ [NC]
  #RewriteRule ^(.*)$ http(s)://meinedomain.de/$1 [R=301,L]
 

Ähnliche Themen