Przekierowanie 301: Moved Permanently

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"
%>

Leave a Reply