Przekierowanie 301 jest rozwiązaniem zalecanym w przypadku zmiany adresu strony lub – ze względu na specyfikę działania robotów wyszukiwarek internetowych – dla każdej strony www dostępnej pod domeną główną oraz subdomeną “www”, czyli w praktyce dla niemal wszystkich witryn.
Na serwerach pracujących pod obsługą apache, przekierowanie można wykonać z użyciem .htaccess
W celu przekierowania strony na nowy adres:
RewriteEngine On RewriteRule ^(.*)$ http://www.nowy-adres.pl/$1 [R=301,L]
* W celu przekierowania z domeny głównej na subdomenę (tutaj z domena.pl na www.domena.pl):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domena.pl
RewriteRule ^(.*)$ http://www.domena.pl/$1 [R=301,L]
Przy czym plik .htaccess należy umieścić w folderze w którym znajduje się plik index*.
…lub z poziomu skryptu PHP
* W celu przekierowania strony na nowy adres:
<?php header(”HTTP/1.1 301 Moved Permanently”); header(”Location: http://www.domena.pl”.$_SERVER[’REQUEST_URI’]); header(”Connection: close”); ?>
* W celu przekierowania z domeny głównej na subdomenę (tutaj z domena.pl na www.domena.pl):
<?php
if (substr($_SERVER[’HTTP_HOST’], 0, 3) !== ‘www’) {
header(”HTTP/1.1 301 Moved Permanently”);
header(”Location: http://www.domena.pl”.$_SERVER[’REQUEST_URI’]);
header(”Connection: close”);
}
?>
Liczba 3 definiuje ile znaków będzie porównywanych z ciągiem wzorcowym.
Przekierowanie 301 na serwerach obsługujących ASP
<%@ Language=VBScript %> <% Response.Status="301 Moved Permanently" Response.AddHeader "Location", "http://www.nowa-domena.pl" %>
