Ponieważ ciągle zaglądam do moich plików albo szperam w guglu bo nie pamiętam jak się robi przekierowania 301 więc postanowiłem stworzyć własny wpis w którym umieszczę podstawowe 301 w pliku .htaccess.
Nie będę tutaj opisywał przekierowań w PHP lub jakiś mega skomplikowanych reguł których i tak w większości nie kumam 🙂 Po prostu najpopularniejsze 301 w htaccessie.
.htaccess
.htaccess to zwykły tekstowy plik który wgrywamy do głównego katalogu w którym znajdują się pliki domeny. Zaczyna się od reguły:
RewriteEngine On
Przekierowanie 301 z bez www na wwww
Dla google domena supercomputers.pl i www.supercomputers.pl to dwie różne domeny dlatego żeby uniknąć psikusów warto przekierować je odpowiednio – tutaj przekierowanie domeny z bez „Www” na wersję z „www”:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blinked.pl(.*) [NC]
RewriteRule ^(.*)$ http://www.blinked.pl/$1 [R=301,L]
Przekierowanie 301 z www na bez www
Analogicznie jak w poprzednim przykładzie – teraz wersja z „www” na bez „www”
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.blinked.pl(.*) [NC]
RewriteRule ^(.*)$ https://blinked.pl//$1 [R=301,L]
Przekierowanie 301 z domeny na domenę – podstrony jeden do jeden
Przekierowanie przydatne gdy zmieniamy domenę na której trzymana jest nasza strona ale nie zmienia się struktura linków.
RewriteEngine On
RewriteRule ^(.*)$ http://www.blinked.pl/$1 [R=301,L]
Przekierowanie 301 – domena na domenę wszystkie podstrony na nową domenę:
A to już klasyka. Czyli przekierowanie wszystkich podstron ze starej domeny na nową domenę. Gdy wpiszemy adres podstrony starej domeny np: domena.pl/podstrona.html to zostaniemy przekierowani na adres nowadomena.pl
RewriteEngine On
RewriteRule ^(.*)$ http://www.blinked.pl/ [R=301,L]
Przekierowanie 301 domeny oraz subdomen na inną domenę
Teraz egzotyczne przekierowanie. Załóżmy że chcemy przekierować jedną domenę oraz wszystkie jej subdomeny na inną domenę:
RewriteCond %{HTTP_HOST} !^.blinked1.pl(.*) [NC]
RewriteRule ^(.*)$ http://www.blinked2.pl/ [R=301,L]
A ja myślałem, że to jest taka reguła, że wszystko można znaleść w internecie i nie trzeba sie uczyć na pamięć składni htaccess.
Ile to ja się kiedyś nawojowałem.
No tak wszystko można znaleźć ale co u siebie to u siebie 🙂 Chyba każdy z tym wojował 🙂