Как сделать 301 редирект (объединение страниц с www и без)

Для того чтобы объединить страницы сайта с www. и без, в глазах поисковика, и при этом не потерять имеющийся вес страниц, можно воспользоваться 301 редирект. Пример записи в фаиле .htaccess ниже (замените example.ru на свой домен):

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.ru
RewriteRule (.*) http://www.example.ru/$1 [R=301,L]

Можно и не использовать .htaccess, а сделать все на PHP. Пример:

if (substr($_SERVER['HTTP_HOST'],0,3)!='www') {
  header("HTTP/1.1 301 Moved Permanently");
  header("Location: http://www.".$_SERVER['HTTP_HOST'].str_replace('index.php','',$_SERVER['PHP_SELF']).($_SERVER['QUERY_STRING']?'?'.$_SERVER['QUERY_STRING']:''));
}

При использовании кода, указанного выше, домен с www становиться основным или каноническим.