Przekierowanie jednego adresu na drugi za pomocą przekierowania 301

Przekierowanie 301 „Moved Permanently” może się okazać bardzo przydatne dla osób, które chcą zmienić adres swojej strony internetowej nie tracąc przy tym siły poprzedniego adresu (domeny). Ustawiając przekierowanie 301 zamiast zwykłego przekierowania zyskujemy to, że wszystkie dane takie jak PageRank czy ilość linków zwrotnych zostają przekazane na nowy adres bez żadnych strat. Czyli jeśli mamy stronę internetową z PageRank 3 i strona znajduje się na pierwszych stronach wyszukiwania w Google, to po zmianie adresu na nowy strona nadal będzie na podobnych pozycjach w wyszukiwarce itd.

Nie jest to jednak jedyne zastosowanie tego przekierowania korzystne z punktu widzenia SEO (Search Engine Optimization), a w naszym języku – pozycjonowania.

Jako kolejny przykład świetnie powinien się sprawdzić sentyment do wpisywania przez polaków w pasku adresu przedrostka www. W praktyce nic on nie znaczy, a wyszukiwarki strony z przedrostkiem www. i bez niego rozróżniają jako dwie różne strony. Przykładowo pod adresem z przedrostkiem www. może znajdować się zupełnie inna strona niż pod adresem bez tego przedrostka, pomimo że mają tą samą domenę bulbulbul.net. Jeśli pod obydwoma adresami znajduje się ta sama strona to nie jest to korzystne z punktu widzenia SEO. Decydując się na jeden konkretny adres wzmacniamy siłę domeny, która tak jakby nie dzieli się przez 2.

Musimy się więc zdecydować czy chcemy aby w pasku adresu przeglądarki wyświetlało się www. czy też nie. Wg. mnie korzystanie z tego przedrostka to tylko marnowanie miejsca, bo w praktyce www. nie ma żadnego istotnego znaczenia.

W tym poradniku opiszę jak można dodać przekierowanie za pomocą mod_rewrite. Aby móc skorzystać z tego dobrodziejstwa nasz serwer musi być na Apache’u, oraz mieć włączoną obsługę mod_rewrite (plik .htaccess).

Uwaga – jeśli do zarządzania serwerem używamy oprogramowania takiego jak DirectAdmin czy cPanel, istnieje możliwość ustawienia takich przekierowań z ich pomocą, bez potrzeby „grzebania” w plikach.

Jeśli upewniliśmy się że nasz serwer obsługuje mod_rewrite, możemy przystąpić do działania. Opiszę tu dwa wspomniane wyżej proste przekierowania.

Aby przekierować całą zawartość naszej domeny na inną włącznie z wszystkimi podstronami należy w głównym katalogu domeny utworzyć plik o nazwie .htaccess Plik ten zapisujemy bez żadnego rozszerzenia typu .html czy .php. Aby go otworzyć wystarczy zwykły notatnik, nie jest potrzebne żadne specjalne oprogramowanie.

Następnie aby móc ustawiać przekierowania musimy w tym pliku dodać wpis

RewriteEngine On

Chcąc przekierować całą zawartość domeny na drugi adres musimy pod spodem dodać

RewriteRule ^(.*)$ http://adres-strony-na-którą-ma-przekierowywać.net/$1 [R=301,L]

Dzięki temu mając stronę o adresie bulbulbul.net zostaniemy przekierowani na adres-strony-na-którą-ma-przekierowywać.net. Dotyczy to również wszystkich podstron tzn. jeśli mamy stronę ze zdjęciami o adresie bulbulbul.net/zdjęcia to przekierowanie zadziała w sposób identyczny jak w stosunku do głównej domeny i przekieruje na adres-strony-na-którą-ma-przekierowywać.net/zdjęcia.

Teraz załóżmy że mamy domenę bulbulbul.net. Strona jest dostępna pod adresami www.bulbulbul.net i bulbulbul.net. Jeśli chcemy zrobić przekierowanie z www. na bez www. do pliku .htacces trzeba dodać wpis

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

Chcąc zrobić odwrotne przekierowanie wystarczy tu gdzie jest wpisane www. usunąć je, a tam gdzie go w drugiej linijce nie ma, dopisać.

Oczywiście możliwości tworzenia różnych przekierowań są niemal nieograniczone, więc każdy może tworzyć takie jakie jemu jest potrzebne. Ja opisałem podstawowe zalety tego rozwiązania, oraz najbardziej popularne przykłady wykorzystania. Jeśli macie jakieś własne ciekawe przykłady wykorzystania tego przekierowania to zachęcam do podzielenia się nimi