cen
30. Juli 2019 um 08:33
1
Hallo,
folgendes habe ich ausprobiert. Es wird zwar korrekt weitergeleitet, aber irgendwie noch ein Dateipfad angehangen (https://www.domain.de//home/usrafgrc/www.domain.de/public/ ). Gibt es Empfehlungen, wie das in Shopware 6 läuft?
DirectoryIndex index.php
Options -MultiViews
RewriteEngine On
# Rewrite to HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www\.domain\.de/$1 [L,R=301]
# Rrewrite to www
RewriteCond %{HTTP_HOST} !^www\.domain\.de$
RewriteRule ^(.*)$ https://www\.domain\.de/$1 [L,R=301]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
# Sets the HTTP_AUTHORIZATION header removed by Apache
RewriteCond %{HTTP:Authorization} .
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
# If the requested filename exists, simply serve it.
# We only want to let Apache serve files and not directories.
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
# Rewrite all other queries to the front controller.
RewriteRule ^ %{ENV:BASE}/index.php [L]
RedirectMatch 302 ^/$ /index.php/
Vielen Dank vorab,
Christian
Ich hatte das eben testweise mit …
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
… gelöst. Direkt unter das RewriteEngine On
Klappt das bei Dir?
Schöne Grüße,
Niklas
cen
30. Juli 2019 um 12:38
3
Ja vielen Dank, so funktioniert es.
Zusammen mit der www-Umleitung sieht es bei mir jetzt so aus:
RewriteCond %{HTTPS} !=on [or]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.domain.de%{REQUEST_URI} [L,R=301]
Schöne Grüße,
Christian
Yodigga
11. November 2020 um 10:18
4
Moin,
muss den Thread nochmal hochholen…
Hätte gerne die automatische Weiterleitung auf www im Shop .Geht das irgendwo in den SW6-Settings? Oder muss man das in die htaccess schreiben? Weiterleitung auf https hab ich in den Domaineinstellungen beim Hoster schon drin. Oder schadet das nicht, wenn das auch nochmal in der htaccess hinterlegt ist?
Würde mir ungern was durch eine “falsche” htaccess versauen
Würde es so wie im Code dargestellt ausreichen? Oder einfach so nach RewriteEngine On reinschreiben wie von Christian gepostet?
Gibt es für www.domain.de auch nen Platzhalter, den man einsetzen kann, falls später mehrere Verkaufskanäle laufen sollen?
Danke schon mal für Eure Mühen!
...
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.domain.de%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
... usw.
Echt traurig wenig los hier. Vielleicht helfe ich wem dabei, der die Suche benutzt hat.
RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC]
RewriteRule (.*) https://%1%{REQUEST_URI} [L,R=301]
Erklärung: Mit „(.+)“ sagt man "nimm den ganzen Rest in eine Variable %1, in der Rule nutzt man diesen Wert dann als Domainnamen.
1 „Gefällt mir“