SSL / https und www. erzwingen bei Shopware 6

Wenn man im Shop https (SSL) und www. erzwingen möchte, dann kann man dies mittels einer htaccess Weiterleitung umsetzen. Dazu direkt in der htacces Datei unterhalb von RewriteEngine On folgenden Code einbauen.

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Weiterleitung auf https
    RewriteCond %{HTTPS} off
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    # Weiterleitung auf www
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Mit diesen Regeln wird zuerst auf https weitergeleitet. Ist www. schon vorhanden, bleibt dies erhalten. Danach wird, falls notwendig zusätzlich auf www. weitergeleitet.

Bei mehreren Verkaufskanälen mit Subdomains als Domäne

<IfModule mod_rewrite.c>
    RewriteEngine On

    # Weiterleitung auf https
    RewriteCond %{HTTPS} off
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    # Weiterleitung auf www
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    # Zweite Condition, damit Subdomains nicht auf www weitergeleitet werden.
    RewriteCond %{HTTP_HOST} !^IHRE_SUBDOMAIN\. [NC]
    RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Platzierung in der .htaccess

Die Rewrite Befehle sollten an den Anfang der htaccess Datei gesetzt werden. Es ist darauf zu achten, dass diese nicht innerhalb der # BEGIN Shopware und # END Shopware Blöcke gesetzt werden, da diese sonst durch Shopware überschrieben werden könnten.