Konfiguracja przekierowań 301 w PrestaShop po migracji
Podczas migracji sklepu PrestaShop URL-e często się zmieniają. Bez przekierowań każdy stary adres zwróci 404 odwiedzającym i wyszukiwarkom. Przekierowanie 301 oznacza, że strona została przeniesiona na stałe, i jest właściwym wyborem dla stałej migracji. 302 jest tymczasowe i nie powinno być używane do map migracyjnych starych URL-i na nowe.

Przygotuj mapę stary-na-nowy
Przed startem wyeksportuj stare URL-e i nowe URL-e do pliku z dwiema kolumnami. Normalizuj ścieżki: jeden host, jeden protokół, jeden styl końcowego slash i brak łańcuchów przekierowań. Na przykład:
old_path,new_url
/old-product.html,https://www.example.com/new-product
/old-category/,https://www.example.com/new-category/
/3-shoes,https://www.example.com/shoesApache (.htaccess)
Umieść reguły przed własnymi regułami dispatchera PrestaShop, nad blokiem # Dispatcher i po RewriteEngine On. Jeśli PrestaShop obsłuży żądanie jako pierwszy, Twoje przekierowanie może się nigdy nie wykonać.
RewriteEngine On
# Exact old-to-new page mapping
Redirect 301 /old-product.html https://www.example.com/new-product
Redirect 301 /old-category/ https://www.example.com/new-category/
# Pattern redirect
RewriteRule ^old-brand/(.*)$ /brand/$1 [R=301,L]
# Strip ID-prefixed category URLs, e.g. /3-shoes -> /shoes
RewriteRule ^([0-9]+)-(.+)$ /$2 [R=301,L]Nginx
Dla kilku przekierowań użyj dokładnych locations. Dla dużej mapy migracyjnej użyj map w kontekście http i jednej reguły return w bloku server.
# http {} context
map $request_uri $redirect_target {
default 0;
/old-product.html /new-product;
/old-category/ /new-category/;
/3-shoes /shoes;
}
# server {} context
if ($redirect_target) {
return 301 https://www.example.com$redirect_target;
}Dla tysięcy URL-i wygeneruj reguły z CSV albo użyj modułu przekierowań, który pozwala zespołowi zarządzać mapowaniami w panelu administracyjnym. Przetestuj przed uruchomieniem na żywo poleceniem curl -I https://www.example.com/old-product.html; oczekujesz 301 Moved Permanently i finalnego Location. Użyj curl -IL, aby wykryć łańcuchy.
Częste pułapki
- Łańcuchy przekierowań: kieruj stare URL-e bezpośrednio na finalny cel.
- Nieskończone pętle: sprawdź www/non-www, HTTP/HTTPS i konfliktujące reguły modułów.
- Wielkość liter: ścieżki Linuksa są case-sensitive; używaj
[NC]w regułach rewrite Apache tylko wtedy, gdy celowo chcesz dopasowania niewrażliwego na wielkość liter. - Usunięte query stringi: zachowuj je tylko wtedy, gdy niosą użyteczny stan; usuwaj parametry trackingowe.
- Krótki czas utrzymania: ważne przekierowania migracyjne trzymaj co najmniej rok, często dłużej dla stron o wysokiej wartości.
Pełną migrację, w tym pliki, bazę danych, motyw i przekierowania, opisuje nasz poradnik migracji PrestaShop.
Czy ta odpowiedź była pomocna?
Masz jeszcze pytania?
Nie możesz znaleźć tego, czego szukasz? Wyślij nam pytanie, a odpowiemy.