Strona główna  /  Hosting i domeny  /  Jak wykonać przekierowanie w pliku .htaccess w WordPress?

✦ AI
Ekran starego terminala z kodem poleceń nawiązującym do konfiguracji przekierowań serwerowych w pliku .htaccess.

Jak wykonać przekierowanie w pliku .htaccess w WordPress?

Przekierowanie w WordPress możesz skonfigurować w pliku .htaccess, który zwykle znajduje się w katalogu głównym witryny, najczęściej public_html. Przed zmianą pobierz kopię pliku, a nowe reguły wklej na jego początku, przed sekcją # BEGIN WordPress. Błędna składnia może wywołać błąd serwera 500.

Jak przygotować plik .htaccess?

Połącz się z serwerem przez FTP, SSH albo menedżer plików w panelu hostingowym. Plik może być ukryty, ponieważ jego nazwa zaczyna się od kropki. W WordPressie zazwyczaj znajduje się w katalogu głównym instalacji, czyli w public_html lub jego odpowiedniku.

Przed każdą edycją pobierz plik na komputer. Dzięki temu szybko przywrócisz poprzednią konfigurację, jeśli strona przestanie odpowiadać.

Przed wklejeniem reguł wykonaj następujące czynności:

  • Utwórz kopię zapasową pliku .htaccess i zachowaj ją poza serwerem.
  • Sprawdź, czy masz dostęp do FTP, SSH lub menedżera plików.
  • Otwórz plik w edytorze tekstowym, który nie dodaje własnego formatowania.
  • Wklej reguły na początku pliku, przed # BEGIN WordPress.

Jeśli plik nie istnieje, możesz utworzyć go ręcznie, choć działająca instalacja WordPressa zwykle ma własną wersję tego pliku. Nie usuwaj automatycznie sekcji WordPress, ponieważ zawiera reguły potrzebne do obsługi przyjaznych adresów URL.

Podstawowe przekierowania w .htaccess

Każdy zestaw reguł powinien zaczynać się od RewriteEngine On. Poniższe przykłady zakładają, że domena ma aktywny certyfikat SSL.

Wymuszenie HTTPS

Ten kod przekierowuje każde żądanie z HTTP na HTTPS, zachowując ścieżkę i parametry adresu:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Regułę stosuj dopiero wtedy, gdy certyfikat SSL działa poprawnie. W przeciwnym razie użytkownicy mogą otrzymywać ostrzeżenia przeglądarki albo pętlę przekierowań.

Przekierowanie z www na adres bez www

Zastąp twojadomena.pl właściwą nazwą domeny:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.twojadomena\.pl$ [NC]
RewriteRule ^ https://twojadomena.pl%{REQUEST_URI} [R=301,L]

Przekierowanie z adresu bez www na www

Jeśli główną wersją witryny ma być adres z przedrostkiem www, użyj:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^twojadomena\.pl$ [NC]
RewriteRule ^ https://www.twojadomena.pl%{REQUEST_URI} [R=301,L]

Nie wklejaj jednocześnie reguły wymuszającej www i reguły wymuszającej brak www. Takie ustawienie może spowodować pętlę przekierowań.

Przekierowanie pojedynczej podstrony

Do zmiany adresu jednej podstrony użyj RewriteRule. Wzorzec po lewej stronie opisuje stary adres bez początkowego ukośnika, a adres po prawej wskazuje miejsce docelowe.

RewriteEngine On
RewriteRule ^stara-podstrona/?$ https://twojadomena.pl/nowa-podstrona/ [R=301,L]

Przykład przekierowuje /stara-podstrona/ na /nowa-podstrona/. Znak ? przed końcem wzorca pozwala obsłużyć wariant ze slashem końcowym.

Przekierowanie domeny i podstrony to dwie różne operacje. W przypadku pojedynczej podstrony reguła może prowadzić do innego adresu w tej samej domenie. Przy zmianie całej domeny trzeba sprawdzić także host źródłowy:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?stara-domena\.pl$ [NC]
RewriteRule ^(.*)$ https://nowa-domena.pl/$1 [R=301,L]

Pełny adres z https:// jest bezpiecznym wyborem także wtedy, gdy strona docelowa znajduje się na innej domenie. Przekierowanie 301 oznacza trwałą zmianę adresu, dlatego nie stosuj go do krótkotrwałych testów.

Jak sprawdzić, czy przekierowanie działa?

Po zapisaniu pliku otwórz stary adres w oknie prywatnym przeglądarki. Następnie sprawdź kod odpowiedzi serwera i upewnij się, że żądanie kończy się pod właściwym adresem.

Po wdrożeniu przejdź przez tę listę kontrolną:

  • Sprawdź, czy stary adres zwraca przekierowanie 301, a nie błąd 404 lub 500.
  • Zweryfikuj, czy nowy adres otwiera właściwą podstronę i zachowuje ścieżkę URL.
  • Upewnij się, że adres z www i bez www nie przekierowują na siebie nawzajem.
  • Sprawdź, czy HTTP prowadzi do HTTPS bez kolejnych przekierowań.
  • Przetestuj kilka adresów w narzędziu typu HTTP Header Checker.

Jeśli po zapisaniu pliku pojawi się błąd 500, przywróć kopię zapasową jako pierwszy krok. Gdy nie masz do niej dostępu, usuń ostatnio dodane reguły przez FTP lub menedżer plików i sprawdź, czy problem ustąpił. Najczęstsze przyczyny to literówka, brak znaku ucieczki w wyrażeniu domeny, powtórzone dyrektywy albo konflikt z regułami dodanymi przez wtyczkę WordPressa.

Przekierowania w .htaccess testuj pojedynczo. Zachowanie kopii pliku, właściwa kolejność reguł i kontrola nagłówków HTTP ograniczają ryzyko niedostępności witryny oraz pętli przekierowań.

Redakcja wpinternals.pl

WordPressa znamy od kuchni – budujemy na nim strony, migrujemy serwisy i optymalizujemy ich wydajność. Piszemy o wtyczkach, motywach, hostingu i bezpieczeństwie tak, by poradzili sobie także początkujący. Dbamy o to, by Twoja strona była szybka, stabilna i bezpieczna.

Może Cię również zainteresować

Potrzebujesz więcej informacji?