Przekierowania 301 w .htaccess

Przekierowania 301 są często stosowane podczas zmiany struktury strony, kiedy to pojawiaja się nowe schematy linków, nowe podstrony. Podczas takiej operacji należy zadbać o to by jak najmniej podstron po takiej zmianie zwracało komunikat o nieistniejącej podstronie ( nagłówek 404 ). Istnieje kilka sposobów podejścia do tematu..

Pracowałem przy projektach o różnej złożoności i moim zdaniem jednym z najlepszych i najprostszych sposobów na to by wykonać dobre przekierowania 301 jest zastosowanie odpowiednich regułek w pliku .htaccess. Takie przekierowania przydatne są także podczas zmiany domeny ( adresu URL) danej strony, wtedy możemy „przenieść” całą moc SEO na nowy adres.

1. Przekierowanie 301 pomagające podczas przeniesienia plików strony na nowy adres:

a) kopiujemy pliki strony w nowe miejsce nazwę to umownie – nowadomena.pl

b) jeśli wszystko działa poprawnie pod nowym adresem, możemy usunać pliki ze starego adresu

c) kiedy usuniemy pliki możemy utworzyć w katalogu głównym starej domeny plik htaccess:

RewriteEngine On
RewriteBase /

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

W powyższym pliku .htaccess musimy jeszcze zamiast nowadomena.pl podać realny adres pod którym znajduje się aktualnie strona

2. Przekierowanie 301 dla podstron, które zmieniły adres

Tą operację trzeba wykonywać z dużą ostrożnością, istnieje duże prawdopodobieństwo, że masz już jakiś plik htaccess w katalogu głównym Twojej strony. W takim przypadku plik należy odpowiednio zaktualizować. Najczęściej wystarczy dodać odpowiednie regułki zaraz po „RewriteBase /” lub RewriteEngine On.

Poniżej przedstawiam przykład:

RewriteEngine On
RewriteBase /

RewriteRule ^index.html$ http://www.domena.pl/ [R=301,L]
RewriteRule ^podstrona1.php$ http://www.domena.pl/nowapodstrona1.html [R=301,L]
RewriteRule ^podstrona2.php$ http://www.domena.pl/nowapodstrona2.html [R=301,L]

W liniach od 4 do 6 są odpowiednie regułki które pozwolą na przekierowania 301 podstron. W lini 4 jest przekierowanie z podstrony index.html na domenę główną. W lini 5 przekierowujemy podstronę o nazwie: podstrona1.php na nowapodstrona1.html. W lini 6 jest analogiczny przykład.

Podczas podawania adresu, na który chcemy przekierowywać musimy podać cały adres URL razem z nazwą domeny i http:// inaczej nie będzie to działać.

 

  1. Witam. Czy można dokonać przekierowania na całkowicie nowy adres za pomocą przykładu nr 2 (linijka 5 i 6)? Chodzi o to, że nowy adres znajduje się na całkowicie nowej domenie , innym katalogu i pod innym tytułem artykułu. Z góry dziękuję za odpowiedź.

  2. Witam
    Próbuję przekierować plikiem htaccess w ramach tej samej domeny starą stronę o nazwie welcome_pol. php – na – welcome-pol.php
    Inawet po wyczyszczeniu cache przeglądarki zarówno wpis
    Redirect 301 /welcome_pol.php /mojastrona.pl/welcome-pol.php
    jak i wpis
    RewriteRule ^/http://mojastrona.pl/welcome_pol.php$ /http://mojastrona.pl/welcome-pol.php [R=301,NC]
    niestety nie działa . Co zrobić?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *