Przekierowanie 301 w .htaccess

Przekierowanie www/bez www

Przekierowanie 301 w .htaccess

  • by Karol
  • dodano o 16:43
  • 2011-09-02

Większość osób trochę obeznanych z tworzeniem stron WWW i podstawami SEO dobrze wie czym jest owe przekierowanie i do czego się je stosuje. Niemniej jednak cały czas można znaleźć w sieci wiele stron dostępnych pod dwoma adresami - z przedrostkiem www i bez. Również sam dostaję często zapytania na e-mail jak sobie z tym poradzić. Dlatego postanowiłem omówić problem przedrostków raz na zawsze oraz podać gotowe kody, których wpisanie w pliku .htaccess powinno pomóc.

Jak powinny wyglądać adresy stron WWW, tzn. powinny się rozpoczynać od przedrostka www czy też być bez tego przedrostka? Czy prawidłowy adres to np. www.onet.pl, czy też onet.pl? Tak naprawdę nie ma to żadnego znaczenia. Niektórzy nawet nawołują do bojkotu przedrostka, jako że jest on przecież zupełnie niepotrzebnie wpisywaną frazą, pewną zaszłością. Kiedy się jednak pyta kogoś mniej obeznanego w sprawach związanych z Internetem o podanie adresu swojej ulubionej strony - zawsze rozpocznie od "www.".

Fakt jest zatem taki, że w chwili obecnej nie ma ustalonego standardu. Dlatego jedni stosują adresy z przedrostkiem, inni bez. Tak naprawdę oba takie adresy mogą wskazywać różne serwisy internetowe. To, że wyświetla się z reguły ta sama strona po wpisaniu adresu z przedrostkiem i bez, to tylko dobra wola administratora, który tak skonfigurował dany serwer. Jednakże wyszukiwarki internetowe, np. Google nie mogą robić takiego założenia. Muszą zatem oddzielnie indeksować strony z i bez przedrostka. Nie jest to dla nas wcale na rękę... Obniżać to bowiem może nasz PageRank. Dlatego znacznie lepszym rozwiązaniem jest ustalenie jednej notacji dla naszej witryny i trzymanie się jej podczas podawania naszego adresu w różnych miejscach. W samym serwisie powinniśmy natomiast zrobić odpowiednie przekierowanie, które zmieniałoby adresy z tych przez nas nieakceptowanych na te, które preferujemy.

Przekierowania można robić w różny sposób. Najlepsze jest właśnie z kodem 301 - Moved Permanently. Zaleca je również Google w swoim systemie pomocy dla Webmasterów. Razem z przeniesieniem użytkownika, przenosi one bowiem również sam Page Rank danej strony.

Przeniesienie takie możemy zrobić w języku PHP. Znacznie prościej jest jednak wprowadzenie odpowiedniego kodu w pliku .htaccess.

Poniżej znajduje się kod przeniesienia z adresu rozpoczynającego się od przedrostka "www" na adres bez tego przedrostka.

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

Jest to kod uniwersalny, niezależny od adresu naszej strony.

Jeśli chcielibyśmy przekierować użytkownika odwrotnie - z adresu zapisanego bez przedrostka www na taki z tym przedrostkiem, moglibyśmy użyć kodu:

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

Komentarze

Dodaj komentarz

  • Token