PrestaShop .htaccess-Weiterleitungen: Regeln schreiben, ohne den Shop zu beschädigen

424 Aufrufe

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 nicht

Kritische 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.backup

Schritt 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.html

Wo 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-Block

Wann 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

AufgabeRegel
EinzelseitenumleitungRedirect 301 /alt https://seite.com/neu
MusterumleitungRewriteRule ^alt/(.*)$ https://seite.com/neu/$1 [R=301,L]
HTTPS erzwingenRewriteCond %{HTTPS} off + RewriteRule
Verzeichnis ausschließenRewriteCond %{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.

Lade ...
Nach oben