Co to jest przekierowanie 301 i jak je skonfigurować na WordPressie

Opublikowany: 2018-07-25

Przekierowanie 301 to przekazywanie. Służy do przekierowywania użytkowników na inny adres URL (strona lub wpis w witrynie) inny niż ten, którego pierwotnie żądali. Na przykład, jeśli osoba w pasku adresu pisze twoja-witryna.com, gdy jest prawidłowo skonfigurowana, przejdzie do www.twoja-witryna.com lub odwrotnie.  

Poza tym pomożemy Ci wdrożyć te przekierowania, zachowując dotychczasowy ruch i SEO.

Pięć rodzajów przekierowań adresów URL

  • 301 – Stałe przekierowanie. Służy do informowania wyszukiwarek, że strona na zawsze zmieniła swoją lokalizację. W 99,44% przypadków użyjesz tego typu.
  • 302 – Tymczasowe przekierowanie. Służy do informowania wyszukiwarek, że strona zmieniła swoją lokalizację w tej chwili, a nie na zawsze.
  • 303 – Zobacz inne przekierowanie. Czasami jest używany w sklepach internetowych, aby sprawdzić, czy strony z jednorazowymi danymi zostały dodane do zakładek, czy po prostu zaktualizowane. Ten kod odpowiedzi informuje przeglądarkę, że żądany dokument musi zostać zażądany przez metodę GET, nawet jeśli oryginalne zapytanie zostało wykonane inną metodą. Jest to kod odpowiedzi wprowadzony w celu zastąpienia kodu 302 w protokole HTTP/1.1.
  • 307 – „Żądany dokument jest dostępny przez krótki czas pod innym URI”, informuje przeglądarkę, że żądany dokument jest wymagany przez metodę (GET / POST), do której zostało wysłane pierwotne żądanie, zmieniając metodę zapytania jest zabronione. Ten kod odpowiedzi jest również wprowadzany w celu zastąpienia kodu 302 w protokole HTTP/1.1. Tymczasowe przekierowanie. Działa jak przekierowanie 303, ale z pewnymi zmianami w sposobie przesyłania informacji z jednej strony na drugą.
  • 308 – „Żądany dokument został ostatecznie zmigrowany do nowego URI”, ten kod odpowiedzi został dodany do HTTP / 1.1 zamiast kodu 301, dodatkowo oznacza to, że metoda żądania (GET / POST) nie może się zmienić, gdy nowy URI jest migrowany. Jeżeli w pierwszym zapytaniu zażądałeś zasobu metodą GET, to drugie zapytanie również musi zostać wykonane metodą GET.

Najczęściej w przypadku przekierowania kod odpowiedzi to 301, więc przekierowanie jest również nazywane przekierowaniem 301. Wszystkie przykłady w tym artykule będą używać tego kodu odpowiedzi. Możesz skonfigurować przekierowanie 301 na różne sposoby: PHP, JS, .htaccess, a także za pomocą specjalnych wtyczek.

Przyjrzymy się, jak to zrobić za pomocą wtyczki Przekierowanie, a także edytując plik .htaccess.

Wtyczka przekierowująca WordPress

Wtyczka przekierowująca WordPress

Proces ręcznego dodawania przekierowań do witryny może być dość skomplikowany, ponieważ w tym przypadku konieczna będzie edycja pliku .htaccess. Ale w świecie WordPressa istnieje fantastyczna wtyczka Redirection od Johna Godleya, która może obsługiwać przekierowania bezpośrednio w konsoli WordPress.

Wtyczka ta istnieje na rynku już od dłuższego czasu i jest popularna ze względu na to, że bardzo łatwo jest zaimportować listę adresów do tabeli, dzięki czemu nie trzeba ręcznie wprowadzać wszystkich przekierowań.

Przekierowanie 02–301 — zainstaluj teraz

Aby zainstalować wtyczkę, po prostu wpisz „przekierowanie” w wyszukiwarce w sekcji Wtyczki → Dodaj nową w swojej konsoli WordPress.

Po aktywacji możesz znaleźć menu wtyczki poprzez Narzędzia → Przekierowanie.

Co to jest przekierowanie 301 i jak je skonfigurować na WordPressie

Aby ręcznie utworzyć przekierowanie, po prostu wprowadź źródłowy adres URL i nowy docelowy adres URL w odpowiednich polach, a następnie kliknij przycisk „Dodaj przekierowanie”. Jest to doskonała i prosta metoda, gdy trzeba wprowadzić tylko kilka zmian.

Dodaj przekierowanie 301, edytując plik .htaccess

W sekcji zarządzania hostingiem określone są dane do łączenia się z plikami witryny przez FTP. Aby się połączyć, musisz użyć klienta FTP, na przykład FileZilla.
Po połączeniu rozpoczynamy edycję pliku .htaccess. Znajduje się w katalogu głównym Twojej witryny.

Do edycji konieczne jest użycie takiego edytora kodu, w którym można określić kodowanie i format końców linii, np. Notepad++.

Przykłady przekierowania:

Przekierowanie HTTP do HTTPS

Przekieruj http://example.com na https://example.com, w tym wszystkie linki do witryn:
Po podłączeniu certyfikatu ssl należy dodać obowiązkowe przekierowanie z http na https, aby wszystkie połączenia były szyfrowane. Takie przekierowanie wykluczy możliwość łączenia się przez protokół http.

Aby to zrobić, wstaw następujący kod na samym początku pliku .htaccess:

# BEGIN Redirect
RewriteEngine On
RewriteCond% {HTTP: X-Forwarded-Proto}! Https
RewriteRule ^ (. *) $ Https: //% {HTTP_HOST}% {REQUEST_URI} [L, R = 301] 

# END Redirect


Przekierowanie WWW do innego niż WWW

Przekieruj z www.example.com na example.com, w tym linki:

# BEGIN Redirect
RewriteEngine On
RewriteBase /
RewriteCond% {HTTP_HOST} ^ www. (. *) $ [NC] RewriteRule ^ (. *) $ Http: //% 1 / $ 1 [R = 301, L] 

# END Redirect

Uwaga, jeśli masz dołączony certyfikat ssl, wiersz:

RewriteRule ^ (. *) $ Http: //% 1 / $ 1 [R = 301, L]

Warto zmienić na:

RewriteRule ^ (. *) $ Https: //% 1 / $ 1 [R = 301, L]

Przekierowanie inne niż WWW do WWW

# BEGIN Redirect
RewriteEngine On
RewriteCond% {HTTP_HOST}! ^ Www.
RewriteRule ^ (. *) $ Http: //www.% {HTTP_HOST} / $ 1 [R = 301, L]

 # END Redirect

 

Uwaga, jeśli masz dołączony certyfikat ssl, wiersz:

RewriteRule ^ (. *) $ Http: //www.% {HTTP_HOST} / $ 1 [R = 301, L] 

Warto zmienić na:

RewriteRule ^ (. *) $ Https: //www.% {HTTP_HOST} / $ 1 [R = 301, L] 

Podczas konfigurowania tego przekierowania musisz zmienić nazwę swojej witryny w bazie danych, dodając www. Musisz to zrobić w phpMyAdmin, edytując wiersze
siteurl i home w tabeli wp_options (jeśli prefiks tabeli w Twojej bazie danych to „wp_”).

Korzystanie z przekierowania w pliku .htaccess

Jeśli chcesz użyć kilku z powyższych przekierowań, powinieneś napisać je w następującej kolejności:

Przekieruj z www.example.com na example.com lub Przekieruj z example.com na www.example.com.

Przekierowanie http://example.com na https://example.com.

Istnieje wiele innych reguł, w szczególności używanie wyrażeń regularnych. Ale są one indywidualne i nie są tak często potrzebne, jak te opisane powyżej, a ich opis wykracza poza zakres tego artykułu.

Jeśli potrzebujesz napisać bardziej złożone reguły przekierowań, zalecamy zapoznanie się z dokumentacją serwera WWW Apache 2 i jego modułu mod_rewrite, a także z wyrażeniami regularnymi formatu PCRE:

https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html
https://httpd.apache.org/docs/2.4/rewrite/
http://pcre.org/current/doc/html/