PrestaShop .htaccess-Weiterleitungen: Regeln schreiben, ohne den Shop zu beschädigen
PrestaShop .htaccess-Weiterleitungen: Regeln schreiben, ohne den Shop zu beschädigen
Die .htaccess-Datei ist eine der leistungsfähigsten und gefährlichsten Dateien in Ihrer PrestaShop-Installation. Ein einziges falsch platziertes Zeichen kann Ihren gesamten Shop offline nehmen. Aber das Beherrschen von .htaccess-Weiterleitungen ist für SEO unverzichtbar - Sie brauchen sie beim Ändern von URLs, bei der Migration von einer anderen Plattform, beim Entfernen alter Produkte oder bei der Umstrukturierung Ihres Kategoriebaums.
Wie PrestaShop .htaccess verwendet
PrestaShop generiert und verwaltet die .htaccess-Datei automatisch. Wenn Sie Freundliche URLs in den SEO & URLs-Einstellungen aktivieren, schreibt PrestaShop Rewrite-Regeln zwischen zwei Markierungskommentaren:
# ~~start~~ Entfernen Sie diesen Kommentar nicht
# -- Ihre PrestaShop-Regeln hier --
# ~~end~~ Entfernen Sie diesen Kommentar nichtKritische Regel - Fügen Sie Ihre benutzerdefinierten Weiterleitungen niemals innerhalb dieses Blocks ein. PrestaShop überschreibt sie bei der nächsten Neugenerierung. Platzieren Sie Ihre Regeln VOR dem PrestaShop-Block.
Weiterleitung-Typen verstehen
301 - Permanente Weiterleitung
Verwenden Sie diese, wenn eine Seite dauerhaft an eine neue URL umgezogen ist. Suchmaschinen übertragen den SEO-Wert der alten Seite auf die neue URL.
302 - Temporäre Weiterleitung
Verwenden Sie diese, wenn eine Seite vorübergehend nicht verfügbar ist. Suchmaschinen behalten die alte URL im Index.
410 - Gone
Verwenden Sie diese, wenn eine Seite dauerhaft entfernt wurde und es keinen Ersatz gibt.
Grundlegende Weiterleitungs-Syntax
Einfache Eins-zu-Eins-Weiterleitungen
# Eine einzelne URL umleiten
Redirect 301 /alte-seite.html https://ihrshop.com/neue-seite.html
# Eine alte Produkt-URL umleiten
Redirect 301 /altes-produkt.html https://ihrshop.com/de/neues-produkt.html
# Eine alte Kategorie umleiten
Redirect 301 /alte-kategorie/ https://ihrshop.com/de/neue-kategorie/Musterbasierte Weiterleitungen mit RewriteRule
RewriteEngine On
# Alle Seiten aus alter Ordnerstruktur umleiten
RewriteRule ^alter-ordner/(.*)$ https://ihrshop.com/neuer-ordner/$1 [R=301,L]
# Produkt-IDs zu freundlichen URLs umleiten
RewriteRule ^product\.php\?id_product=([0-9]+)$ https://ihrshop.com/de/produkt-$1.html [R=301,L]Häufige PrestaShop-Weiterleitungsszenarien
Szenario 1 - Migration von einer anderen Plattform
# WooCommerce zu PrestaShop
RewriteRule ^product/alter-slug/?$ https://ihrshop.com/de/neue-url.html [R=301,L]
# Magento zu PrestaShop
RewriteRule ^catalog/product/view/id/([0-9]+)/?$ https://ihrshop.com/de/produkt-$1.html [R=301,L]Szenario 2 - HTTPS und WWW erzwingen
# HTTPS erzwingen
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# www erzwingen
RewriteCond %{HTTP_HOST} ^ihrshop\.com$ [NC]
RewriteRule ^(.*)$ https://www.ihrshop.com/$1 [R=301,L]Regeln, die PrestaShop beschädigen können
Endlose Weiterleitungsschleifen
Der gefährlichste Fehler. Dies passiert, wenn eine Regel URL A zu URL B umleitet und eine andere Regel URL B zurück zu URL A umleitet.
# GEFÄHRLICH - kann Schleifen verursachen
RewriteRule ^(.*)$ https://ihrshop.com/$1 [R=301,L]
# SICHER - verhindert Schleife durch Prüfung
RewriteCond %{HTTP_HOST} !^www\.ihrshop\.com$ [NC]
RewriteRule ^(.*)$ https://www.ihrshop.com/$1 [R=301,L]Back-Office- und API-Zugriff unterbrechen
# GEFÄHRLICH
RewriteRule ^(.*)$ https://ihrshop.com/de/$1 [R=301,L]
# SICHER - Admin und API ausschließen
RewriteCond %{REQUEST_URI} !^/admin [NC]
RewriteCond %{REQUEST_URI} !^/api [NC]
RewriteCond %{REQUEST_URI} !^/modules [NC]
RewriteRule ^(.*)$ https://ihrshop.com/de/$1 [R=301,L]Weiterleitungen sicher testen
Schritt 1 - Immer zuerst sichern
cp .htaccess .htaccess.backupSchritt 2 - Zuerst mit 302 testen
Verwenden Sie temporäre (302) Weiterleitungen während der Tests. Wechseln Sie erst nach Bestätigung zu 301.
Schritt 3 - Mit curl testen
curl -I -L https://ihrshop.com/alte-seite.html
curl -I https://ihrshop.com/alte-seite.htmlWo benutzerdefinierte Regeln platzieren
# IHRE WEITERLEITUNGEN HIER (vor dem PrestaShop-Block)
Redirect 301 /alte-seite.html https://ihrshop.com/neue-seite.html
# ~~start~~ PrestaShop-Block
# ... automatisch generierte Regeln ...
# ~~end~~ PrestaShop-BlockWann Sie ein Modul verwenden sollten
Erwägen Sie ein Weiterleitungsmodul statt manueller .htaccess-Bearbeitung wenn: nicht-technisches Personal Weiterleitungen verwalten muss, Sie Hunderte von Weiterleitungen mit einer Benutzeroberfläche verwalten möchten, Sie automatische 404-Erkennung benötigen, oder Sie Weiterleitungs-Analysen wünschen.
Kurzreferenz
| Aufgabe | Regel |
|---|---|
| Einzelseitenumleitung | Redirect 301 /alt https://seite.com/neu |
| Musterumleitung | RewriteRule ^alt/(.*)$ https://seite.com/neu/$1 [R=301,L] |
| HTTPS erzwingen | RewriteCond %{HTTPS} off + RewriteRule |
| Verzeichnis ausschließen | RewriteCond %{REQUEST_URI} !^/admin |
War diese Antwort hilfreich?
Haben Sie noch Fragen?
Can't find what you're looking for? Send us your question and we'll get back to you quickly.