jak zrobić, wykonać przekierowanie 301 ze starego na nowy adres strony

Przekierowanie 301 co to jest i jak z niego korzystać? (.htaccess)

Czas czytania: 3 minut

Przekierowanie 301 (Moved Permanently) służy do przenoszenia (przekierowywania) z jednego adresu internetowego na drugi. Przy czym warto wspomnieć, że dla wyszukiwarki internetowej domena z www i bez to już 2 różne adresy. Dlatego też jest często wykorzystywane podczas optymalizacji strony pod kontem pozycjonowania przez pozycjonerów oraz twórców stron.

Co to jest przekierowanie 301

Jak wspomniałam wcześniej przekierowanie typu 301 służy do przenoszenia z jednego adresu na drugi, ale nie przenosi ono nas jedynie fizycznie. Przekierowanie przekazuje również moc linków z jednego adresu na drugi. W nieco prostszym języku – po wpisaniu adresu strony posiadającej przekierowanie 301 adres w pasku adresu przeglądarki zostanie podmieniony na nowy wskazany w przekierowaniu. W efekcie zostajemy przeniesieni na inną stronę niż planowaliśmy, ale tą którą chciał jej właściciel (w teorii). Witryna może wyglądać identycznie, będzie miała jednak „inny adres”. Przekierowanie to działa podobnie na roboty wyszukiwarek.

Do czego przyda się nam przekierowanie typu 301?

301 przeniesienie na inną stronę

Na początek warto zwrócić uwagę, że adres domena.euwww.domena.eu (czyli domena z przedrostkiem www i bez www) to dla wyszukiwarki internetowej dwa różne adresy, wskazujące na tą samą przestrzeń dyskową (duplikaty). Dlatego, jeśli chcemy by nasza strona, miała dobre pozycje w wynikach wyszukiwania, warto zrobić porządek w adresach.  Zazwyczaj wybierany jest adres www.domena.pl, jest tak dlatego, że większość ludzi odruchowo wpisuje w polu przeglądarki internetowej adres strony zaczynający się od www.

Innym przypadkiem, kiedy przyda nam się przekierowanie 301, jest sytuacja gdy zdecydujemy się na zmianę adresu internetowego.

Przekierowanie 301 jest bardzo proste uniwersalne, interpretowane zarówno przez przeglądarki, jak i roboty wyszukiwarek internetowych takich jak Google.

różnice pomiędzy przekierowaniem 301 a 302
różnice pomiędzy przekierowaniem 301 a 302

Jak działa przekierowanie 301

Na początek musimy utworzyć plik .htaccess, który należy wgrać do katalogu głównego na serwerze. W zależności od tego jaki efekt chcemy uzyskać możemy użyć następujących kodów:

Warto pamiętać, że jeśli łączymy kilka metod to za każdym razem nie musimy wpisywać RewriteEngine On wystarczy zrobić to raz na samym początku.


Przekierowanie z „bez www” na „www”:

w przypadku nie wpisania www zostaje ono dodane – kod dodaje www przed adresem

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domena.eu(.*) [NC]
RewriteRule ^(.*)$ http://www.domena.eu/$1 [R=301,L]

lub

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ http://www.domena.pl/$1 [L,R=301]

Przekierowanie z „www” na „bez www”:

Tym razem usuniemy z początku naszego adresu www.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domena.eu(.*) [NC]
RewriteRule ^(.*)$ http://domena.eu/$1 [R=301,L]

Usunięcie index.php z adresu strony:

W tym wypadku będziemy przenosić odwiedzających na główny adres naszej strony – usuwając index.php.

RewriteEngine on
RewriteCond %{REQUEST_URI} ^\/index.php$
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ http://www.domena.pl/ [L,R=301]

Przekierowanie z „starej strony” na „nową stronę”:

Czyli automatyczne przeniesienie ze starego adresu strony na nowy. Jest to bardzo przydatne przekierowanie w przypadku gdy przenosimy starą stronę na nowy adres. Proces ten wykonuje się, by nie stracić dotychczasowych użytkowników.

Przekierowanie można wykonać na kilka sposobów np.

RewriteEngine On
rewritecond %{http_host} ^www.staradomena.com.pl [nc]
rewriterule ^(.*)$ http://www.nowadomena.pl/$1 [r=301,nc]

Można również wykonać przekierowanie z adresu „starej strony” na „nową stronę” za pomocą kodu:

RewriteEngine On
RewriteRule ^(.*)$ http://nowadomena.pl/$1 [R=301,L]

lub bez konieczności podawania nazwy domeny – przydatne szczególnie jeśli mamy podpiętych kilka domen do tego samego katalogu (i np. nie chcemy tworzyć duplikatów)

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Przekierowanie podstrony na inny adres URL/inną podstronę:

Przydatne jeśli usunęliśmy jedną lub więcej podstron naszego serwisu i nie chcemy by nasi odwiedzający trafiali na podstronę błędu 404

RewriteEngine On
RedirectMatch 301 /stary/adres.php nowy/adres.php

Zmiana adresu domeny na z przedrostkiem „https://”

RewriteEngine On
RewriteCond %{HTTPS} !^on$
RewriteRule ^(.*)$ https://www.domena.pl/$1 [R=301,L]

Zabezpieczenie przed linkowaniem obrazków

Dzięki poniższemu kodowi nie będzie można podlinkować zdjęć umieszczonych na naszym serwerze. Chodzi o sytuację, w której ktoś na swojej stronie wyświetla obraz fizycznie mieszczący się na naszym serwerze.

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?twojadomena\.pl [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} ^http://.*$
RewriteRule \.(jpe?g|gif|bmp|png)$ /obrazki/mojobrazek.png [L]

Powyższe kody świetnie sprawdzą się w przypadku prostych stron internetowych jednak nie koniecznie już dla bardziej zaawansowanych systemów CMS.

Do systemów CMS takich jak WordPress warto używać specjalnych wtyczek (pluginów). Jest tak dlatego że potrafią one edytować zawartość pliku .htaccess.

Zainteresować może cię również:

https://www.aurainweb.pl/2012/03/przekierowania-w-wordpressie-redirection/

https://www.aurainweb.pl/2011/10/przekierowanie-na-inna-strone/

https://www.aurainweb.pl/2012/03/przekierowanie-302-przekierowanie-tymczasowe/

Dodatkowe tagi:
przekierowanie na nowy adres
przekierowanie 301
Jak przekierować domenę na wskazany adres strony w Internecie
przekierowania url
zmiana adresu strony