Promocja: pl – od 5 zł | eu – od 5 zł | com – od 20 zł

Serwer HTTP - kody przekierowania (3xx)

Kody przekierowania (3xx)

Kody przekierowania zawierają m.in. informacje o tym, czy wywoływana żądaniem przeglądarki strona znajduje się pod wpisanym adresem lub czy adres ten powinien zostać, np. zmieniony. Kody przekierowań zapisują się w logach serwera dostępnych z poziomu CloudHosting Panel (Sprawdź: Logi serwera).

 

  • 300 Multiple Choices - wiele możliwości.
    Kod 300 oznacza, że na serwerze istnieje więcej niż jeden sposób obsłużenia danego zapytania. Serwer może podać adres zasobu, który pozwala na wybór jednoznacznego zapytania wśród możliwych.
  • 301 Moved Permanently - trwale przeniesiony.
    Kod 301 oznacza, że żądany zasób zmienił swój URI i w przyszłości powinien być szukany po wskazanym nowym adresem.
  • 302 Found - znaleziono.
    Kod 302 informuje, że żądany zasób jest chwilowo dostępny pod innym adresem, a przyszłe odwołania do zasobu powinny być kierowane pod adres pierwotny.
  • 303 See Other - zobacz inne.
    Kod 303 pozwala stwierdzić, że odpowiedź na wykonane żądanie znajduje się pod innym URI i tam należy się kierować. To jest właściwy sposób przekierowywania w odpowiedzi na żądanie metodą POST.
  • 304 Not Modified - nie zmieniono.
    Kod 304 oznacza, że zawartość zasobu nie podległa zmianie według warunku przekazanego przez przeglądarkę (np. data ostatniej wersji zasobu pobranej do pamięci podręcznej przeglądarki).
  • 305 Use Proxy - użycie serwera proxy.
    Kod 305 informuje, że do żądanego zasobu należy odwołać się przez serwer proxy podany w nagłówku Location odpowiedzi.
  • 307 Temporary Redirect - tymczasowe przekierowanie.
    Kod 307 określa, że żądany zasób znajduje się chwilowo pod innym adresem URI. Odpowiedź powinna zawierać zmieniony adres zasobu, na który należy się przenieść.
  • 310 Too many redirects - zbyt wiele przekierowań.
    Kod 310 przekazuje informację, że nastąpiło zbyt wiele przekierowań w ramach oczekiwanego zasobu. Kod ten jest najczęściej wyświetlanym kodem z klasy 3xx.

 

Zastosowanie przekierowań w praktyce

Przekierowania 301 i 302 dają możliwość na przesłanie ruchu ze starego na nowy adres URL. Jeśli na przykład usunięta została jedna z podstron lub zmieniono jej odnośnik, to osoby próbujące uzyskać do dostęp do starego adresu URL strony otrzymają błąd 404 Not Found. Aby uniknąć takich sytuacji, należy dla strony wykonać przekierowanie 301. Dzięki niemu serwer automatycznie przekieruje połączenie z dotychczasowego adresu na nowy. Jest to ważne również z punktu widzenia SEO, ponieważ brak funkcjonowania adresu URL wpłynie na pogorszenie pozycjonowania podstrony, do której adres ten kierował. Zastosowanie przekierowania 301 pozwoli na utrzymanie zdobytej przez adres pozycji.

 

Przekierowanie 301 wykonać można przy pomocy wtyczek właściwych aplikacji, w której wykonano stronę. Inną możliwością jest także wykonanie odpowiedniego wpisu w pliku .htaccess, znajdującego się na serwerze, w katalogu z plikami strony. Poniżej kilka przykładów użycia takiego rozwiązania.

  • Przekierowanie dotychczasowego adresu podstrony na nowy:
  • RewriteEngine On
    RewriteRule ^zdjecia$ http://nazwadomeny.pl/galeria [R=301]

    Taka reguła pozwoli na zmianę dotychczasowego adresu podstrony z http://nazwadomeny.pl/zdjecia, na http://nazwadomeny.pl/galeria.

  • Zmiana domeny:
  • RewriteEngine On
    RewriteCond %{HTTP_HOST} ^nazwadomeny.pl$
    RewriteRule (.*)$ http://mojanowadomena.pl/$2 [R=301,L]

    Dzięki zastosowaniu tej metody użytkownicy znający dotychczasowy adres witryny będą mogli ją wyświetlić pod nowym adresem. Jednocześnie sama moc dotychczasowej domeny związana z jej pozycjonowaniem w sieci nie ulegnie zmianie.

  • Przekierowanie adresu z prefiksem www na adres bez prefiksu www:
  • RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.nazwadomeny.pl$
    RewriteRule (.*)$ http://nazwadomeny.pl/$2 [R=301,L]

    Ze względu na to, że dla robotów Google adres domeny z www i bez www to dwie zupełnie inne domeny, najlepiej aby strona wyświetlana była pod jednym adresem, a drugi na nią przekierowywał.

  • Wymuszenie szyfrowania https, czyli użycia certyfikatu SSL:
  • RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule (.*) https://%{HTTP_HOST}/$2 [R=301,L]

Przekierowanie 301 dobrze jest stosować wówczas, gdy zmiany wykonywane na stronie wprowadzane są na stałe, np. jeśli:

  • wymuszane jest szyfrowanie certyfikatem SSL;
  • zmieniany jest na stałe adres domeny lub nazwa podstrony;
  • dodawany lub usuwany jest prefiks www.

 

Przekierowanie 302 jest przekierowaniem tymczasowym. Z punktu widzenia SEO pomiędzy przekierowaniem 302 a 301 jest znacząca różnica. W przypadku 302 "moc SEO" dotychczasowego adresu strony lub podstrony nie jest przenoszona na nowy adres. Podstrona, dla której zastosowano przekierowanie 302, jest nadal widoczna w indeksie wyszukiwarki, ale nie jest dostępna dla użytkownika. Może to spowodować postanie duplikatu adresu. Jeśli stosowane jest przekierowanie 301, dotychczasowy adres zostaje usunięty z indeksu i zastępowany nowym. Przekierowanie 302 wykonać można w pliku .htaccess, a składnia reguły jest bardzo podobna do przekierowania 301.

  • Przekierowanie dotychczasowego adresu podstrony na nowy:
  • RewriteEngine On
    RewriteRule ^zdjecia$ http://nazwadomeny.pl/galeria [R]

Przekierowanie 302 stosować można wówczas, gdy wykonywane w obrębie strony zmiany są tymczasowe, np.:

  • gdy edytowana jest konkretna podstrona, a jej adres powinien w tym czasie prowadzić do strony głównej lub innej, podobnej podstrony;
  • gdy modernizowana lub rozbudowywana jest cała strona i zachodzi konieczność tymczasowego wyłączenia niektórych podstron;
  • jeśli poprzez stronę prowadzona jest sezonowa sprzedaż towarów, których oferta ulega zmianie zależnie od pory roku;
  • jeśli na stronie sprzedawany jest produkt, którego zapas ulega wyczerpaniu i konieczne jest oczekiwanie na dostawę.

 

WIĘCEJ INFORMACJI:Serwer HTTP - kody odpowiedziLogi serwera

Table of Contents