Перенаправления (301 Redirect)

Перенаправление (301 Redirect) бывает необходимо, когда ресурс перемещается с одного адреса на другой. В частности может понадобиться, когда меняется адрес домена с www на без www, с http на https и др.

Перенаправления в .htaccess

Перенаправление с доменов с www на домены без www

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

здесь site.ru - домен вашего сайта

Перенаправление с протокола http на https

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [NC,R=301,L]

Если на хостинге установлена панель ISPmanager, то перенаправление можно сделать средствами панели.

 

Перенаправления cредствами php

Редирект страниц сайта на эти же, но c другим доменом

$ref=$_SERVER["QUERY_STRING"];
if ($ref!="") $ref="?".$ref;
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://domen.ru/".$ref);
exit();

Перенаправление с одного домена на другой

RewriteEngine On
RewriteCond %{HTTP_HOST} old-site.ru
RewriteRule (.*) http://new-site.ru/$1 [R=301,L]